TW201839595A - 記憶裝置、記憶裝置的控制方法及存取系統 - Google Patents

記憶裝置、記憶裝置的控制方法及存取系統 Download PDF

Info

Publication number
TW201839595A
TW201839595A TW106114262A TW106114262A TW201839595A TW 201839595 A TW201839595 A TW 201839595A TW 106114262 A TW106114262 A TW 106114262A TW 106114262 A TW106114262 A TW 106114262A TW 201839595 A TW201839595 A TW 201839595A
Authority
TW
Taiwan
Prior art keywords
volatile memory
output data
memory
input data
data
Prior art date
Application number
TW106114262A
Other languages
English (en)
Other versions
TWI631508B (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 TW106114262A priority Critical patent/TWI631508B/zh
Priority to CN201710845365.8A priority patent/CN108804022A/zh
Priority to US15/863,891 priority patent/US20180314626A1/en
Application granted granted Critical
Publication of TWI631508B publication Critical patent/TWI631508B/zh
Publication of TW201839595A publication Critical patent/TW201839595A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/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/0658Controller construction arrangements
    • 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/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; 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

一種記憶裝置,耦接一主機裝置,並包括一揮發性記憶體、一非揮發性記憶體、一控制器以及一反轉器。控制器存取揮發性記憶體及非揮發性記憶體。反轉器顛倒一輸入資料的排列順序,用以產生一輸出資料。控制器提供輸出資料予主機裝置或是將輸出資料儲存於非揮發性記憶體中。

Description

記憶裝置、記憶裝置的控制方法及存取系統
本發明係有關於一種電子裝置,特別是有關於一種記憶裝置。
記憶裝置是一種常見的電子裝置,用以儲存資料。記憶裝置可分為揮發性記憶體與非揮發性記憶體。常見的揮發性記憶體包括動態隨機存取記憶體(DRAM)以及靜態隨機存取記憶體(SRAM)。非揮發性記憶體包括,唯讀記憶體(ROM)、可規化式唯讀記憶體(PROM)、可擦可規化式唯讀記憶體(EPROM)、可電擦可規化式唯讀記憶體(EEPROM)以及快閃記憶體(Flash memory)。
本發明提供一種記憶裝置,耦接一主機裝置,並包括一揮發性記憶體、一非揮發性記憶體、一控制器以及一反轉器。控制器存取揮發性記憶體及非揮發性記憶體。反轉器顛倒一輸入資料的排列順序,用以產生一輸出資料。控制器提供輸出資料予主機裝置或是將輸出資料儲存於非揮發性記憶體中。
本發明另提供一種記憶裝置的控制方法,適用於一記憶裝置,並包括下列步驟,接收一外部指令;判斷外部指令的種類;當該外部指令符合一特定協定時,顛倒一輸入資料 的排列順序,用以產生一輸出資料;以及提供輸出資料予一主機裝置或是儲存輸出資料。
本發明另提供一種存取系統,包括一主機裝置以及一記憶裝置。主機裝置提供一外部指令。記憶裝置接收外部指令,並包括一揮發性記憶體、一非揮發性記憶體、一控制器以及一反轉器。控制器存取揮發性記憶體及非揮發性記憶體。反轉器顛倒一輸入資料的排列順序,用以產生一輸出資料。控制器輸出輸出資料予主機裝置或是將輸出資料儲存於非揮發性記憶體中。
本發明之方法可經由本發明之系統來實作,其為可執行特定功能之硬體或韌體,亦可以透過程式碼方式收錄於一紀錄媒體中,並結合特定硬體來實作。當程式碼被電子裝置、處理器、電腦或機器載入且執行時,電子裝置、處理器、電腦或機器變成用以實行本發明之裝置或系統。
100‧‧‧存取系統
110、310、410‧‧‧主機裝置
120、320、420‧‧‧記憶裝置
CMD‧‧‧指令
121‧‧‧控制單元
122、324、424‧‧‧非揮發性記憶體
131、321、421‧‧‧控制器
132、322、422‧‧‧反轉器
133、323、423‧‧‧揮發性記憶體
DT110‧‧‧外部資料
1~512‧‧‧位元組
RDT122‧‧‧反轉資料
ODT、ODT1~ODT4‧‧‧輸出資料
IDT1~IDT4‧‧‧輸入資料
S511~S515‧‧‧步驟
第1圖為本發明之存取系統之示意圖。
第2A圖為本發明之輸入資料與輸出資料之間的關係示意圖。
第2B圖為本發明之輸入資料與輸出資料之間的關係示意圖。
第3圖為本發明之記憶裝置的一可能實施例。
第4圖為本發明之記憶裝置的另一可能實施例。
第5圖為本發明之記憶裝置的控制方法的流程示意圖。
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出實施例,並配合所附圖式,做詳細之說明。本發明說明書提供不同的實施例來說明本發明不同實施方式的技術特徵。其中,實施例中的各元件之配置係為說明之用,並非用以限制本發明。另外,實施例中圖式標號之部分重覆,係為了簡化說明,並非意指不同實施例之間的關聯性。
第1圖為本發明之存取系統之示意圖。如圖所示,存取系統100包括一主機裝置110以及一記憶裝置120。主機裝置110輸出一指令CMD,用以存取記憶裝置120。記憶裝置120根據指令CMD的種類,進行相對應的操作。舉例而言,當指令CMD為一寫入指令時,記憶裝置120進入一寫入模式,用以儲存主機裝置110所提供的資料。當指令CMD為一讀取指令時,記憶裝置120進入一讀取模式,用以提供讀取資料予主機裝置110。在其它實施例中,當指令CMD為一設定指令時,記憶裝置120進入一設定模式,用以設定本身內部暫存器的值。本發明並不限定記憶裝置120的種類。在一可能實施例中,記憶裝置120符合一通用快閃儲存(Universal Flash Storage;UFS)協定。
如圖所示,記憶裝置120包括一控制單元121以及一非揮發性記憶體122。控制單元121根據指令CMD存取非揮發性記憶體122。舉例而言,在一寫入模式中,控制單元121將主機裝置110所提供的一外部資料寫入非揮發性記憶體122中;在一讀取模式下,控制單元121讀取非揮發性記憶體122,用以輸 出一讀取資料予主機裝置110。另外,控制單元121也可根據指令CMD設定或重置非揮發性記憶體122。
在本實施例中,控制單元121包括一控制器131、一反轉器132以及一揮發性記憶體133。控制器131根據指令CMD控制反轉器132、揮發性記憶體133與非揮發性記憶體122。舉例而言,當指令CMD係為一寫入指令時,控制器131進入一寫入模式。在寫入模式下,控制器131接收主機裝置110所提供的一外部資料。在此例中,控制器131將外部資料暫存於揮發性記憶體133之中,然後再將揮發性記憶體133所儲存的外部資料儲存至非揮發性記憶體122中。同樣地,當指令CMD係為一讀取指令時,控制器131進入一讀取模式。在讀取模式下,控制器131讀取非揮發性記憶體122所儲存的一特定資料,並將該特定資料作為一讀取資料暫存於揮發性記憶體133中,然後再輸出揮發性記憶體133所儲存的讀取資料予主機裝置110。
在本實施例中,控制器131具有一程式碼,用以判斷指令CMD是否符合一特定協定。在一可能實施例中,特定協定係為一回放保護記憶區塊(Replay Protected Memory Block;RPMB)協定。當指令CMD不符合RPMB協定時,控制器131根據指令CMD的種類(寫入指令、讀取指令、設定指令或重置指令)存取非揮發性記憶體122。以寫入指令為例,當主機裝置110提供一外部資料時,控制器131不改變該外部資料的排列順序。在此例中,控制器131依照外部資料原本的排列順序,依序地將外部資料儲存至非揮發性記憶體122。舉例而言,控制器131可能先將外部資料儲存於揮發性記憶體133中,再儲存至非揮 發性記憶體122中。
然而,當指令CMD符合RPMB協定時,控制器131觸發反轉器132,用以改變一輸入資料的排列順序,再根據指令CMD的種類(讀取指令或寫入指令),將改變後的結果輸出予主機裝置110或存入非揮發性記憶體122。本發明並不限定控制器131如何觸發反轉器132。在一可能實施例中,當指令CMD符合RPMB協定時,控制器131改變一反轉暫存器(未顯示)的值。在一可能實施例中,反轉暫存器可能位於控制器131或是反轉器132或是揮發性記憶體133中。在其它實施例中,反轉器132可能整合於控制器131之中。
反轉器132根據反轉暫存器的值,決定是否進入一反轉模式。舉例而言,當反轉暫存器的值等於一預設值時,反轉器132進入反轉模式。在反轉模式,反轉器132顛倒一輸入資料的排列順序,用以產生一輸出資料。當反轉暫存器的值不等於預設值時,反轉器132離開反轉模式,不顛倒輸入資料的排列順序。
本發明並不限定輸入資料的來源。當指令CMD為一寫入指令時,輸入資料係由主機裝置110所提供。在此例中,反轉器132所產生的輸出資料可能會存入非揮發性記憶體122或是揮發性記憶體133中。在一可能實施例中,非揮發性記憶體122具有一特定區塊,用以儲存反轉器132所產生的輸出資料。當指令CMD為一讀取指令時,輸入資料係由非揮發性記憶體122所提供。在此例中,反轉器132所產生的輸出資料直接提供予主機裝置110或是先存入揮發性記憶體133再輸出至主機裝 置110。
第2A圖為本發明之輸入資料與輸出資料之間的關係示意圖。假設,指令CMD係為一寫入指令,並符合RPMB協定。在此例中,主機裝置110提供一外部資料DT110予記憶裝置120。如圖所示,外部資料DT110包括位元組1~512。主機裝置110依序輸出位元組1~512,其中主機裝置110最先輸出位元組1,最後輸出位元組512。
反轉器132依序接收外部資料DT110的位元組1~512,也就是說,反轉器132先接收位元組1,再接收位元組2,最後才接收位元組512。在本實施例中,反轉器132顛倒外部資料DT110(即為上述輸入資料)的排列順序,用以產生一反轉資料RDT122(即上述輸出資料),並將反轉資料RDT122存入非揮發性記憶體122或揮發性記憶體133中。如圖所示,反轉器132先輸出位元組512,再輸出位元組511,最後輸出位元組1。在本實施例中,反轉器132係以一先進後出(first in last out;FIFO)方式,改變外部資料DT110的位元組的排列順序,用以產生反轉資料RDT122。因此,反轉資料RDT122的位元組的排列順序相反於外部資料DT110的位元組的排列順序。
第2B圖為本發明之輸入資料與輸出資料之間的另一關係示意圖。假設,指令CMD符合RPMB協定,並為一讀取指令,用以讀取先前存入非揮發性記憶體122的反轉資料RDT122。在此例中,反轉資料RDT122作為一輸入資料。反轉器132先讀取反轉資料RDT122的位元組512,再讀取位元組511,最後才讀取位元組1。
反轉器132顛倒反轉資料RDT122的排列順序,用以產生一輸出資料ODT。如圖所示,反轉器132先輸出位元組1,再輸出位元組2,最後再輸出位元組512。在本實施例中,輸出資料ODT的位元組的排列順序相反於反轉資料RDT122的位元組的排列順序。在本實施例中,反轉器132係以先進後出方式,處理反轉資料RDT122的位元組的排列順序,用以產生輸出資料ODT。
第3圖為本發明之記憶裝置的一可能實施例。當主機裝置310提供一指令CMD時,揮發性記憶體323儲存指令CMD。控制器321或反轉器322根據揮發性記憶體323所儲存的指令CMD,判斷指令CMD的種類以及指令CMD是否符合RPMB協定。在另一可能實施例中,控制器321或反轉器322直接接收指令CMD,用以判斷指令CMD的種類以及指令CMD是否符合RPMB協定。
當指令CMD係為一寫入指令時,控制器321操作於一寫入模式。在寫入模式下,記憶裝置320接收主機裝置310所提供的一輸入資料IDT1。在本實施例中,揮發性記憶體323儲存輸入資料IDT1。當控制器321或反轉器322判斷出指令CMD並非符合RPMB協定時,控制器321讀取揮發性記憶體323,並將輸入資料IDT1寫入非揮發性記憶體324。然而,當控制器321或反轉器322判斷出指令CMD符合RPMB協定時,反轉器322顛倒揮發性記憶體323所儲存的輸入資料IDT1的排列順序,用以產生一輸出資料ODT1
在本實施例中,反轉器322將輸出資料ODT1儲存於 揮發性記憶體323中。控制器321讀取揮發性記憶體323所儲存的輸出資料ODT1,並將輸出資料ODT1儲存於非揮發性記憶體324中。在此例中,輸出資料ODT1的排列順序相反於輸入資料IDT1的排列順序。在另一可能實施例中,反轉器322不將輸出資料ODT1儲存於揮發性記憶體323中,而是直接提供輸出資料ODT1予控制器321。在此例中,控制器321將反轉器322所提供的輸出資料ODT1儲存於揮發性記憶體323,然後再讀取揮發性記憶體323所儲存的輸出資料ODT1,並存入非揮發性記憶體324中。在一些實施例中,控制器321將反轉器322所提供輸出資料ODT1直接儲存非揮發性記憶體324中。在此例中,控制器321不將反轉器322所提供輸出資料ODT1儲存於揮發性記憶體323中。
當指令CMD係為一讀取指令時,控制器321操作於一讀取模式。在讀取模式下,控制器321讀取非揮發性記憶體324所儲存的一輸入資料IDT2,並將輸入資料IDT2儲存於揮發性記憶體323中。當指令CMD不符合RPMB協定時,控制器321讀取揮發性記憶體323,用以提供輸入資料IDT2予主機裝置310。
然而,當指令CMD符合RPMB協定時,反轉器322反轉揮發性記憶體323所儲存的輸入資料IDT2,用以產生一輸出資料ODT2。在一可能實施例中,輸入資料IDT2等於輸出資料ODT1。在本實施例中,反轉器322將輸出資料ODT2儲存於揮發性記憶體323中。控制器321讀取揮發性記憶體323所儲存的輸出資料ODT2,並將輸出資料ODT2提供予主機裝置310。輸出 資料ODT2的排列順序相反於輸入資料IDT2。在另一可能實施例中,反轉器322直接將輸出資料ODT2提供予主機裝置310。
第4圖為本發明之記憶裝置的另一可能實施例。在本實施例中,當主機裝置410提供一指令CMD時,反轉器422接收指令CMD,並判斷指令CMD的種類以及指令CMD是否符合RPMB協定。在另一可能實施例中,反轉器422將指令CMD存入揮發性記憶體423中。在此例中,控制器421或反轉器422判斷指令CMD的種類以及指令CMD是否符合RPMB協定。在一可能實施例中,控制器421判斷指令CMD的種類,而反轉器422判斷指令CMD是否符合RPMB協定。在其它實施例中,控制器421直接接收指令CMD,用以判斷指令CMD的種類以及指令CMD是否符合RPMB協定。
當指令CMD係為一寫入指令時,控制器421操作於一寫入模式。在寫入模式下,主機裝置410提供一輸入資料IDT3。在一可能實施例中,當指令CMD不符合RPMB協定時,反轉器422直接將輸入資料IDT3存入揮發性記憶體423。在此例中,控制器421讀取揮發性記憶體423,用以將輸入資料IDT3寫入非揮發性記憶體424中。
然而,當指令CMD符合RPMB協定時,反轉器422顛倒輸入資料IDT3的排列順序,用以產生一輸出資料ODT3。在一可能實施例中,反轉器422先將輸入資料IDT3儲存於揮發性記憶體423中,再從揮發性記憶體423讀取並顛倒輸入資料IDT3的排列順序,用以產生一輸出資料ODT3。反轉器422再將輸出資料ODT3儲存於揮發性記憶體423中。在一可能實施例中, 輸出資料ODT3取代先前儲存於揮發性記憶體423的輸入資料IDT3,但並非用以限制本發明。控制器421讀取揮發性記憶體423,用以將輸出資料ODT3儲存於非揮發性記憶體424中。在此例中,輸出資料ODT3的排列順序相反於輸入資料IDT3的排列順序。在另一可能實施例中,反轉器422直接提供輸出資料ODT3予控制器421。在此例中,控制器421可能將輸出資料ODT3直接儲存於非揮發性記憶體424中,或是先將輸出資料ODT3儲存於揮發性記憶體423,再從揮發性記憶體423讀取輸出資料ODT3,再將輸出資料ODT3儲存至非揮發性記憶體424中。
當指令CMD係為一讀取指令時,控制器421操作於一讀取模式。在讀取模式下,控制器421讀取非揮發性記憶體424所提供的一輸入資料IDT4,並將輸入資料IDT4儲存於揮發性記憶體423中。當指令CMD不符合RPMB協定時,控制器421直接將揮發性記憶體423所儲存的輸入資料IDT4輸出予主機裝置410。然而,當指令CMD符合RPMB協定時,反轉器322反轉揮發性記憶體323所儲存的輸入資料IDT4,用以產生一輸出資料ODT4。在一可能實施例中,輸入資料IDT4係為輸出資料ODT3
在本實施例中,反轉器422直接將輸出資料ODT4提供予主機裝置410。輸出資料ODT4的排列順序相反於輸入資料IDT4的排列順序。在另一可能實施例中,反轉器422將輸出資料ODT4儲存於揮發性記憶體423中。控制器421讀取揮發性記憶體423所儲存的輸出資料ODT4,並將輸出資料ODT4提供予主機裝置410。
第5圖為本發明之記憶裝置的控制方法的流程示意圖。本發明的控制方法適用於一記憶裝置中。在一可能實施例中,記憶裝置耦接一主機裝置。首先,接收一外部指令(步驟S511)。在一可能實施例中,外部指令係來自該主機裝置。
判斷外部指令是否符合RPMB協定(步驟S512)。在一可能實施例中,記憶裝置具有一控制器,用以判斷外部指令是否符合RPMB協定。當外部指令不符合RPMB協定時,依據外部指令的種類提供一讀取資料予主機裝置或儲存一輸入資料(步驟S515)。在一可能實施例中,記憶裝置內的控制器判斷外部指令係為寫入指令或是讀取指令。當外部指令係為寫入指令時,控制器將主機裝置所提供的一輸入資料寫入一非揮發性記憶體中。當外部指令係為讀取指令時,控制器讀取非揮發性記憶體所儲存資料,用以產生一讀取資料,並輸出讀取資料予主機裝置。
當外部指令符合RPMB協定時,顛倒一輸入資料的排列順序,用以產生一輸出資料(步驟S513)。在一可能實施例中,當外部指令符合RPMB協定時,記憶裝置內的控制器啟動一反轉器,用以顛倒輸入資料的排列順序,並產生一輸出資料。
本發明並不限定控制器如何啟動反轉器。在一可能實施例中,當外部指令符合RPMB協定時,控制器改變一反轉暫存器的值。反轉器判斷反轉暫存器的值是否等於一預設值。當反轉暫存器的值等於一預設值時,反轉器顛倒輸入資料的排列順序。當反轉暫存器的值不等於預設值時,反轉器不顛倒輸 入資料的排列順序。在一可能實施例中,反轉暫存器係設置在控制器或是反轉器中。在另一可能實施例中,反轉器係根據先進後出方式,產生輸出資料。另外,本發明並不限定輸入資料的來源。在一可能實施例中,輸入資料係由一主機裝置所提供,該主機裝置獨立於該記憶裝置之外。在另一可能實施例中,該輸入資料已儲存於記憶裝置之中。
接著,提供該輸出資料予主機裝置或是儲存該輸出資料(步驟S514)。在一可能實施例中,當輸入資料係來自主機裝置時,記憶裝置儲存該輸出資料。在此例中,主機裝置所提供的輸入資料可能先儲存於記憶裝置的一揮發性記憶體中。記憶裝置內的反轉器再讀取揮發性記憶體所儲存的輸入資料,並顛倒輸入資料的排列順序。在一可能實施例中,反轉器所產生的輸出資料也儲存於揮發性記憶體中。在此例中,記憶裝置裡的一控制器讀取揮發性記憶體所儲存的輸出資料,再將輸出資料儲存於一非揮發性記憶體中。在另一可能實施例中,反轉器所產生的輸出資料係直接儲存於記憶裝置裡的一非揮發性記憶體中,而不儲存在記憶裝置裡的揮發性記憶體中。
然而,當輸入資料係由記憶裝置的一非揮發性記憶體提供時,記憶裝置提供輸出資料予主機裝置。在一可能實施例中,非揮發性記憶體所提供輸入資料會先被載入揮發性記憶體中。此時,反轉器讀取揮發性記憶體所儲存的輸入資料,並顛倒該輸入資料的排列順序,用以產生輸出資料。在一可能實施例中,輸出資料可能被控制器或是反轉器儲存於揮發性記憶體。控制器或反轉器再將揮發性記憶體所儲存的輸出資料提 供予主機裝置。在另一可能實施例中,控制器或反轉器將輸出資料直接提供予主機裝置,而不儲存在揮發性記憶體中。
除非另作定義,在此所有詞彙(包含技術與科學詞彙)均屬本發明所屬技術領域中具有通常知識者之一般理解。此外,除非明白表示,詞彙於一般字典中之定義應解釋為與其相關技術領域之文章中意義一致,而不應解釋為理想狀態或過分正式之語態。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾。舉例來,本發明實施例所系統、裝置或是方法可以硬體、軟體或硬體以及軟體的組合的實體實施例加以實現。因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。

Claims (20)

  1. 一種記憶裝置,耦接一主機裝置,並包括:一揮發性記憶體;一非揮發性記憶體;一控制器,存取該揮發性記憶體及該非揮發性記憶體;以及一反轉器,顛倒一輸入資料的排列順序,用以產生一輸出資料,其中該控制器提供該輸出資料予該主機裝置或是將該輸出資料儲存於該非揮發性記憶體中。
  2. 如申請專利範圍第1項所述之記憶裝置,其中在一寫入模式,該主機裝置提供該輸入資料。
  3. 如申請專利範圍第2項所述之記憶裝置,其中在該寫入模式,該揮發性記憶體儲存該輸入資料,該反轉器顛倒該揮發性記憶體所儲存的該輸入資料的排列順序,用以產生該輸出資料,該反轉器將該輸出資料儲存於該揮發性記憶體中,該控制器讀取該揮發性記憶體所儲存的該輸出資料,並將該輸出資料儲存於該非揮發性記憶體中。
  4. 如申請專利範圍第2項所述之記憶裝置,其中在該寫入模式,該反轉器接收並顛倒該輸入資料的排列順序,用以產生該輸出資料,該揮發性記憶體儲存該輸出資料。
  5. 如申請專利範圍第1項所述之記憶裝置,其中在一讀取模式,該非揮發性記憶體提供該輸入資料。
  6. 如申請專利範圍第5項所述之記憶裝置,其中在該讀取模式,該控制器將該輸入資料儲存於該揮發性記憶體中,該反轉器反轉該揮發性記憶體所儲存的該輸入資料,用以產生該輸出 資料,該反轉器將該輸出資料儲存於該揮發性記憶體中,該控制器讀取該揮發性記憶體所儲存的該輸出資料,並將該輸出資料提供予該主機裝置。
  7. 如申請專利範圍第5項所述之記憶裝置,其中在該讀取模式,該控制器將該輸入資料儲存於該揮發性記憶體中,該反轉器反轉該揮發性記憶體所儲存的該輸入資料,並將該輸出資料提供予該主機裝置。
  8. 如申請專利範圍第1項所述之記憶裝置,更包括:一反轉暫存器,當該主機裝置提供一特定指令予該記憶裝置時,該控制器改變該反轉暫存器的值,其中當該反轉暫存器的值等於一預設值時,該反轉器顛倒該輸入資料的排列順序,當該反轉暫存器的值不等於該預設值時,該反轉器不顛倒該輸入資料的排列順序。
  9. 如申請專利範圍第8項所述之記憶裝置,其中該特定指令符合一回放保護記憶區塊協定。
  10. 如申請專利範圍第1項所述之記憶裝置,其中該反轉器整合於該控制器中。
  11. 一種記憶裝置的控制方法,適用於一記憶裝置,並包括下列步驟:接收一外部指令;判斷該外部指令的種類;當該外部指令符合一特定協定時,顛倒一輸入資料的排列順序,用以產生一輸出資料;以及提供該輸出資料予一主機裝置或是儲存該輸出資料。
  12. 如申請專利範圍第11項所述之記憶裝置的控制方法,其中當該輸入資料係由該主機裝置所提供時,儲存該輸出資料。
  13. 如申請專利範圍第12項所述之記憶裝置的控制方法,更包括:儲存該輸入資料於一揮發性記憶體中,其中該輸出資料儲存於該揮發性記憶體中;讀取該揮發性記憶體所儲存的該輸出資料,用以將該輸出資料儲存於一非揮發性記憶體中。
  14. 如申請專利範圍第12項所述之記憶裝置的控制方法,更包括:儲存該輸入資料於一揮發性記憶體中;讀取該揮發性記憶體所儲存的該輸入資料,用以顛倒該輸入資料的排列順序;儲存該輸出資料於一非揮發性記憶體中。
  15. 如申請專利範圍第11項所述之記憶裝置的控制方法,其中當該輸入資料係由該記憶裝置的一非揮發性記憶體提供時,提供該輸出資料予該主機裝置。
  16. 如申請專利範圍第15項所述之記憶裝置的控制方法,更包括:儲存該輸入資料於一揮發性記憶體中;讀取該揮發性記憶體所儲存的該輸入資料,用以顛倒該輸入資料的排列順序;儲存該輸出資料於該揮發性記憶體中; 讀取該揮發性記憶體所儲存的該輸出資料,用以將該輸出資料提供予該主機裝置。
  17. 如申請專利範圍第15項所述之記憶裝置的控制方法,更包括:儲存該輸入資料於該揮發性記憶體中;讀取該揮發性記憶體所儲存的該輸入資料,用以顛倒該輸入資料的排列順序,其中該輸出資料係提供予該主機裝置。
  18. 如申請專利範圍第11項所述之記憶裝置的控制方法,更包括:當該外部指令係符合該特定協定時,改變一反轉暫存器的值;判斷該反轉暫存器的值是否等於一預設值;當該反轉暫存器的值等於一預設值時,顛倒該輸入資料的排列順序,當該反轉暫存器的值不等於該預設值時,不顛倒該輸入資料的排列順序。
  19. 如申請專利範圍第18項所述之記憶裝置的控制方法,其中判斷該外部指令的種類的步驟係判斷該外部指令是否為一回放保護記憶區塊指令。
  20. 一種存取系統,包括:一主機裝置,提供一外部指令;以及一記憶裝置,接收該外部指令,並包括:一揮發性記憶體;一非揮發性記憶體; 一控制器,存取該揮發性記憶體及該非揮發性記憶體;以及一反轉器,顛倒一輸入資料的排列順序,用以產生一輸出資料,其中該控制器輸出該輸出資料予該主機裝置或是將該輸出資料儲存於該非揮發性記憶體中。
TW106114262A 2017-04-28 2017-04-28 記憶裝置、記憶裝置的控制方法及存取系統 TWI631508B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW106114262A TWI631508B (zh) 2017-04-28 2017-04-28 記憶裝置、記憶裝置的控制方法及存取系統
CN201710845365.8A CN108804022A (zh) 2017-04-28 2017-09-19 存储装置、存储装置的控制方法及存取系统
US15/863,891 US20180314626A1 (en) 2017-04-28 2018-01-06 Storage device, control method and access system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106114262A TWI631508B (zh) 2017-04-28 2017-04-28 記憶裝置、記憶裝置的控制方法及存取系統

Publications (2)

Publication Number Publication Date
TWI631508B TWI631508B (zh) 2018-08-01
TW201839595A true TW201839595A (zh) 2018-11-01

Family

ID=63916710

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106114262A TWI631508B (zh) 2017-04-28 2017-04-28 記憶裝置、記憶裝置的控制方法及存取系統

Country Status (3)

Country Link
US (1) US20180314626A1 (zh)
CN (1) CN108804022A (zh)
TW (1) TWI631508B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11442634B2 (en) * 2018-04-12 2022-09-13 Micron Technology, Inc. Replay protected memory block command queue
KR20200128825A (ko) 2019-05-07 2020-11-17 삼성전자주식회사 분리된 rpmb 기능을 가지는 스토리지 시스템 및 그 구동 방법
KR20200130539A (ko) 2019-05-08 2020-11-19 삼성전자주식회사 강력한 보안 기능을 제공하는 스토리지 장치 및 그 스토리지 장치를 포함하는 전자 장치
TWI754442B (zh) * 2019-11-04 2022-02-01 美商電子墨水股份有限公司 包含透光基板及電泳介質的三維變色物件

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100574973B1 (ko) * 2004-02-20 2006-05-02 삼성전자주식회사 서로 다른 엔디안 포멧들사이에서 데이터를 변환하기 위한장치와 방법, 그리고 상기 장치를 구비하는 시스템
JP5100035B2 (ja) * 2005-08-02 2012-12-19 ルネサスエレクトロニクス株式会社 半導体記憶装置
US20140173173A1 (en) * 2012-12-13 2014-06-19 Elpida Memory, Inc. Method, device, and system including configurable bit-per-cell capability
US10257192B2 (en) * 2014-05-29 2019-04-09 Samsung Electronics Co., Ltd. Storage system and method for performing secure write protect thereof
US10073635B2 (en) * 2014-12-01 2018-09-11 Micron Technology, Inc. Multiple endianness compatibility
US9959923B2 (en) * 2015-04-16 2018-05-01 Micron Technology, Inc. Apparatuses and methods to reverse data stored in memory
KR102417182B1 (ko) * 2015-06-22 2022-07-05 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
TWI537729B (zh) * 2015-10-15 2016-06-11 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法

Also Published As

Publication number Publication date
CN108804022A (zh) 2018-11-13
TWI631508B (zh) 2018-08-01
US20180314626A1 (en) 2018-11-01

Similar Documents

Publication Publication Date Title
KR102184260B1 (ko) 반도체 기억장치 및 이를 위한 연속 판독 방법
TWI631508B (zh) 記憶裝置、記憶裝置的控制方法及存取系統
US10049005B2 (en) Flash memory control apparatus utilizing buffer to temporarily storing valid data stored in storage plane, and control system and control method thereof
US9367392B2 (en) NAND flash memory having internal ECC processing and method of operation thereof
TWI386804B (zh) 非揮發性記憶體之界面
KR100706246B1 (ko) 읽기 성능을 향상시킬 수 있는 메모리 카드
TWI566253B (zh) 用來管理一記憶裝置之方法以及記憶裝置與控制器
TW201822213A (zh) 半導體儲存裝置、快閃記憶體及其連續讀出方法
TWI515737B (zh) 資料儲存裝置以及其資料抹除方法
CN108563590B (zh) 基于片上flash存储器的otp控制器和控制方法
KR20180104839A (ko) 데이터 전송 트레이닝 방법 및 이를 수행하는 데이터 저장 장치
US20160180947A1 (en) Semiconductor memory device
TW202009936A (zh) 快閃記憶體控制器及相關的存取方法及電子裝置
JP2003317489A (ja) 不揮発性半導体記憶装置、そのデータ書き込み制御方法およびプログラム
TW201500923A (zh) 資料儲存裝置及用於快閃記憶體之資料讀取方法
US20180165032A1 (en) Read write performance for nand flash for archival application
JP2005182996A (ja) 同期式フラッシュメモリ装置及びその動作方法
TW201839596A (zh) 記憶裝置及記憶裝置的控制方法
JP4382131B2 (ja) 半導体ディスク装置
KR20090055199A (ko) 반도체 장치
TWI533316B (zh) 錯誤修正方法以及記憶體裝置
JP3793542B2 (ja) 半導体記憶装置
US7996598B2 (en) Memory management module
JPH11154209A (ja) Icメモリカード
JP4158934B2 (ja) 半導体記憶媒体