TWI686698B - 邏輯轉實體表更新方法及儲存控制器 - Google Patents

邏輯轉實體表更新方法及儲存控制器 Download PDF

Info

Publication number
TWI686698B
TWI686698B TW107117742A TW107117742A TWI686698B TW I686698 B TWI686698 B TW I686698B TW 107117742 A TW107117742 A TW 107117742A TW 107117742 A TW107117742 A TW 107117742A TW I686698 B TWI686698 B TW I686698B
Authority
TW
Taiwan
Prior art keywords
flash memory
physical
logical
access circuit
storage controller
Prior art date
Application number
TW107117742A
Other languages
English (en)
Other versions
TW202004503A (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 TW107117742A priority Critical patent/TWI686698B/zh
Priority to US16/114,242 priority patent/US20190361803A1/en
Publication of TW202004503A publication Critical patent/TW202004503A/zh
Application granted granted Critical
Publication of TWI686698B publication Critical patent/TWI686698B/zh

Links

Images

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
    • 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
    • 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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/061Improving I/O performance
    • 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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/1016Performance improvement
    • G06F2212/1024Latency reduction
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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/7202Allocation control and policies

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

Abstract

本發明提出一種邏輯轉實體表更新方法及儲存控制器。儲存控制器包括處理器及快閃記憶體存取電路。快閃記憶體存取電路耦接到快閃記憶體。邏輯轉實體表更新方法包括:藉由處理器傳送寫入指令到快閃記憶體存取電路;藉由快閃記憶體存取電路執行寫入指令來存取快閃記憶體;以及在快閃記憶體存取電路執行寫入指令之後,藉由快閃記憶體存取電路更新隨機存取記憶體中的邏輯轉實體表。

Description

邏輯轉實體表更新方法及儲存控制器
本發明是有關於一種邏輯轉實體表更新方法及儲存控制器,且特別是有關於一種能增加指令執行速度的邏輯轉實體表更新方法及儲存控制器。
固態硬碟(Solid State Drive,SSD)是現今相當熱門的儲存裝置。一般來說,固態硬碟會透過儲存控制器接收主機系統的指令並根據接收到的指令對快閃記憶體(即,可複寫式非揮發性記憶體模組)進行存取。
在圖1的範例中,儲存裝置10可包括儲存控制器100、快閃記憶體170及動態隨機存取記憶體180。儲存裝置10例如是固態硬碟。儲存控制器100可包括處理器110、快閃記憶體存取電路120、動態隨機存取記憶體存取電路130、靜態隨機存取記憶體140及中斷控制電路150。中斷控制電路150可透過訊號線101、訊號線102、訊號線103來傳送或接收中斷訊號。
處理器110可透過匯流排160下達寫入指令(即,頁面程 式化指令或頁面程式化請求)給快閃記憶體存取電路120。快閃記憶體存取電路120會根據寫入指令來存取快閃記憶體170。這時候,處理器110會等待寫入指令執行完畢。當寫入指令執行完畢之後,快閃記憶體存取電路120會透過訊號線101傳送中斷訊號給中斷控制電路150,且中斷控制電路150會將此中斷訊號傳送給處理器110。當處理器110接收到中斷訊號並確認寫入指令執行完畢後,處理器110會根據寫入指令的實體寫入位址來更新暫存於靜態隨機存取記憶體140或動態隨機存取記憶體180的邏輯轉實體表(logical-to-physical table,L2P table)。邏輯轉實體表又稱為邏輯轉實體位址映射表(logical-to-physical address mapping table)。然而,傳送中斷訊號及處理器110執行韌體來更新邏輯轉實體表的過程需要花費太多時間而使系統的每秒輸入輸出操作(Input/Output Operations Pet Second,IOPS)降低。因此,如何能增加系統的每秒輸入輸出操作是本領域技術人員應致力的目標。
有鑑於此,本發明提供一種邏輯轉實體表更新方法及儲存控制器,有效率地更新邏輯轉實體表以增加系統的每秒輸入輸出操作。
本發明提出一種邏輯轉實體表更新方法,適用於儲存控制器及快閃記憶體(flash)。儲存控制器包括處理器及快閃記憶體存取電路。快閃記憶體存取電路耦接到快閃記憶體。邏輯轉實體表 更新方法包括:藉由處理器傳送寫入指令到快閃記憶體存取電路;藉由快閃記憶體存取電路執行寫入指令來存取快閃記憶體;以及在快閃記憶體存取電路執行寫入指令之後,藉由快閃記憶體存取電路更新隨機存取記憶體中的邏輯轉實體表。
在本發明的一實施例中,上述處理器藉由邏輯轉實體表來查找邏輯單元所映射的實體單元。
在本發明的一實施例中,上述寫入指令包括實體位址、資料來源及隨機存取記憶體的更新位址。
在本發明的一實施例中,上述藉由快閃記憶體存取電路執行寫入指令的步驟包括:藉由快閃記憶體存取電路將對應資料來源的資料寫入到快閃記憶體的實體位址。
在本發明的一實施例中,上述藉由快閃記憶體存取電路更新隨機存取記憶體中的邏輯轉實體表的步驟包括:藉由快閃記憶體存取電路將實體位址寫入到隨機存取記憶體的更新位址。
在本發明的一實施例中,上述隨機存取記憶體為儲存控制器中的靜態隨機存取記憶體(Static Random Access Memory,SRAM)或耦接到儲存控制器的動態隨機存取記憶體。
本發明提出一種儲存控制器,包括處理器及快閃記憶體存取電路。快閃記憶體存取電路透過匯流排耦接到處理器。快閃記憶體存取電路耦接到快閃記憶體。處理器傳送寫入指令到快閃記憶體存取電路。快閃記憶體存取電路執行寫入指令來存取快閃記憶體。在快閃記憶體存取電路執行寫入指令之後,快閃記憶體 存取電路更新隨機存取記憶體中的邏輯轉實體表。
在本發明的一實施例中,上述處理器藉由邏輯轉實體表來查找邏輯單元所映射的實體單元。
在本發明的一實施例中,上述寫入指令包括實體位址、資料來源及隨機存取記憶體的更新位址。
在本發明的一實施例中,上述快閃記憶體存取電路將對應資料來源的資料寫入到快閃記憶體的實體位址。
在本發明的一實施例中,在快閃記憶體存取電路執行寫入指令之後,快閃記憶體存取電路將實體位址寫入到隨機存取記憶體的更新位址。
在本發明的一實施例中,上述隨機存取記憶體為儲存控制器中的靜態隨機存取記憶體或耦接到儲存控制器的動態隨機存取記憶體。
基於上述,本發明的邏輯轉實體表更新方法及儲存控制器會在快閃記憶體存取電路執行寫入指令之後,藉由快閃記憶體存取電路更新隨機存取記憶體中的邏輯轉實體表。如此一來,快閃記憶體存取電路就不用在寫入指令執行完畢之後傳送中斷訊號給處理器再透過處理器執行韌體以更新隨機存取記憶體中的邏輯轉實體表。指令執行速度可因此增加,從而提高系統的每秒輸入輸出操作。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
10、20:儲存裝置
100、200:儲存控制器
101、102、103、201、202、203:訊號線
110、210:處理器
120、220:快閃記憶體存取電路
130、230:動態隨機存取記憶體存取電路
140、240:靜態隨機存取記憶體
150、250:中斷控制電路
160、260:匯流排
170、270:快閃記憶體
180、280:動態隨機存取記憶體
221:邏輯轉實體表更新電路
S301、S303、S305:邏輯轉實體表更新方法的步驟
400:邏輯轉實體表
圖1為習知的一種儲存裝置的方塊圖。
圖2為根據本發明的一實施例的儲存裝置的方塊圖。
圖3為根據本發明的一實施例的邏輯轉實體表更新方法的流程圖。
圖4A及圖4B為根據本發明的一實施例的更新邏輯轉實體表的示意圖。
圖2為根據本發明的一實施例的儲存裝置的方塊圖。
請參照圖2,儲存裝置20可包括儲存控制器200、快閃記憶體270及動態隨機存取記憶體280。動態隨機存取記憶體280例如是同步動態隨機存取記憶體(Synchronous Dynamic Random Access Memory,SDRAM)、雙倍資料率同步動態隨機存取記憶體(Double Data Rate Synchronous Dynamic Random Access Memory,DDR SDRAM)、行動式雙倍資料率同步動態隨機存取記憶體(MDDR SDRAM)、低功耗雙倍資料率同步動態隨機存取記憶體(LPDDR SDRAM)等類似元件。儲存控制器200可包括處理器210、快閃記憶體存取電路220、動態隨機存取記憶體存取電路230、靜態隨機存取記憶體240及中斷控制電路250。中斷控制電路250可透過訊號線201、訊號線202、訊號線203來傳送或接收 中斷訊號。儲存控制器200中的各個元件可透過匯流排260進行通訊。
儲存裝置20例如是隨身碟、記憶卡、固態硬碟(Solid State Drive,SSD)或其他類似裝置。處理器210例如是中央處理單元(Central Processing Unit,CPU)、微處理器(micro-processor)、或是其他可程式化之處理單元(Microprocessor)、數位訊號處理器(Digital Signal Processor,DSP)、可程式化控制器、特殊應用積體電路(Application Specific Integrated Circuits,ASIC)、可程式化邏輯裝置(Programmable Logic Device,PLD)或其他類似電路元件,本發明並不限於此。快閃記憶體270可包括可複寫式非揮發性記憶體模組。
快閃記憶體存取電路220用以接受處理器210的指示,來進行對於可複寫式非揮發性記憶體模組的資料的寫入(亦稱,程式化,Programming)、讀取操作。快閃記憶體存取電路220亦可對可複寫式非揮發性記憶體模組進行抹除操作。
舉例來說,處理器210可執行寫入指令序列,以指示快閃記憶體存取電路220將資料寫入至可複寫式非揮發性記憶體模組中。處理器210可執行讀取指令序列,以指示快閃記憶體存取電路220從可複寫式非揮發性記憶體模組中讀取資料。處理器210可執行抹除指令序列,以指示快閃記憶體存取電路220對可複寫式非揮發性記憶體模組進行抹除操作。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程式碼或指令碼並且用 以指示對快閃記憶體270的可複寫式非揮發性記憶體模組執行相對應的寫入、讀取及抹除等操作。在一實施例中,處理器210還可以下達其他類型的指令序列快閃記憶體存取電路220,以對可複寫式非揮發性記憶體模組執行相對應的操作。
此外,欲寫入至可複寫式非揮發性記憶體模組的資料會經由快閃記憶體存取電路220轉換為可複寫式非揮發性記憶體模組所能接受的格式。具體來說,若處理器210要存取可複寫式非揮發性記憶體模組,處理器210會傳送對應的指令序列給快閃記憶體存取電路220以指示快閃記憶體存取電路220執行對應的操作。例如,這些指令序列可包括指示寫入資料的寫入指令序列、指示讀取資料的讀取指令序列、指示抹除資料的抹除指令序列、以及用以指示各種記憶體操作(例如,改變讀取電壓準位或執行垃圾回收程序等等)的相對應的指令序列。這些指令序列可包括一或多個訊號,或是在匯流排260上的資料。這些訊號或資料可包括指令碼或程式碼。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
在本實施例中,快閃記憶體存取電路220還會辨識配置給可複寫式非揮發性記憶體模組的邏輯區塊的狀態。快閃記憶體存取電路220亦可辨識可複寫式非揮發性記憶體模組的實體區塊的狀態。更詳細來說,當快閃記憶體存取電路220根據讀取/寫入指令發出讀取/寫入請求給可複寫式非揮發性記憶體模組後,快閃記憶體存取電路220會辨識對應的可複寫式非揮發性記憶體模組 的儲存單元(如,實體區塊、實體頁面,或是對應的邏輯區塊、邏輯頁面)的狀態是否為就緒狀態(readiness)。舉例來說,當快閃記憶體存取電路220辨識到對應讀取/寫入指令的實體區塊以準備好進行資料傳輸時,快閃記憶體存取電路220會回報映射至所述實體區塊的邏輯區塊為就緒狀態。換句話說,快閃記憶體存取電路220會根據判斷邏輯區塊所映射的實體區塊是否準備好進行資料傳輸來判斷所述邏輯區塊的狀態是否為就緒狀態。快閃記憶體存取電路220可主動判斷對應的實體區塊的狀態是否準備好進行資料傳輸,也可被動地接收來自可複寫式非揮發性記憶體模組的對應的實體區塊的狀態回報,本發明不限於快閃記憶體存取電路220如何辨識欲進行資料存取的實體區塊/邏輯區塊是否為就緒狀態的方法。
快閃記憶體270的可複寫式非揮發性記憶體模組可以是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元的快閃記憶體模組)、多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元的快閃記憶體模組)、複數階記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。可複寫式非揮發性記憶體模組中的記憶胞是以陣列的方式設置。
在本實施例中,可複寫式非揮發性記憶體模組的記憶胞 會構成多個實體程式化單元,並且此些實體程式化單元會構成多個實體區塊(亦稱,實體抹除單元)。具體來說,同一條字元線(或同一個字元線層)上的記憶胞會組成一或多個實體程式化單元。若每一個記憶胞被用以儲存2個以上的位元,則同一條字元線(或同一個字元線層)上的實體程式化單元至少可被分類為一個下(lower)實體程式化單元與一個上(upper)實體程式化單元。
在一實施例中,若每一個記憶胞被用以儲存2個位元,則同一條字元線(或同一個字元線層)上的實體程式化單元可被分類為一個下實體程式化單元與一個上實體程式化單元。例如,一記憶胞的最低有效位元(Least Significant Bit,LSB)是屬於下實體程式化單元,並且一記憶胞的最高有效位元(Most Significant Bit,MSB)是屬於上實體程式化單元。一般來說,下實體程式化單元的寫入速度會大於上實體程式化單元的寫入速度,及/或下實體程式化單元的可靠度會高於上實體程式化單元的可靠度。在另一實施例中,若每一個記憶胞被用以儲存3個位元,則同一條字元線(或同一個字元線層)上的實體程式化單元可被分類為一個下實體程式化單元、一個上實體程式化單元及一個額外(extra)實體程式化單元。例如,一記憶胞的最低有效位元是屬於下實體程式化單元,一記憶胞的中間有效位元(Central Significant Bit,CSB)是屬於上實體程式化單元,並且一記憶胞的的最高有效位元是屬於額外實體程式化單元。
在本實施例中,資料是以實體區塊為單位作為寫入資料 (程式化)的儲存單元。實體區塊亦可稱為實體抹除單元或實體單元。實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。每一實體區塊會具有多個實體程式化單元。實體程式化單元為實體頁面(page)或是實體扇(sector)。若實體程式化單元為實體頁面,則此些實體程式化單元通常包括資料位元區與冗餘(redundancy)位元區。資料位元區包含多個實體扇,用以儲存使用者資料,而冗餘位元區用以儲存系統資料(例如,錯誤更正碼)。
然而,本發明不限於此。例如,在另一實施例中,亦可變化本實施例所述的資料傳輸方法,應用至以實體程式化單元為單位作為寫入資料的儲存單元的可複寫式非揮發性記憶體模組。
儲存控制器200會配置多個邏輯單元來映射可複寫式非揮發性記憶體模組的用以儲存使用者資料的多個實體單元,並且主機系統(未繪示於圖中)是透過邏輯單元來存取用以儲存使用者資料的多個實體單元中的使用者資料。在此,每一個邏輯單元可以是由一或多個邏輯位址組成。例如,邏輯單元可以是邏輯區塊(logical block)、邏輯頁面(logical page)或是邏輯扇區(logical sector)。一個邏輯單元可以是映射至一或多個實體單元,其中實體單元可以是一或多個實體位址、一或多個實體扇、一或多個實體程式化單元或者一或多個實體抹除單元。
此外,儲存控制器200會建立邏輯轉實體表(logical to physical table,L2P table)與實體轉邏輯表(physical to logical table,P2L table),以記錄配置給可複寫式非揮發性記憶體模組的邏輯單元(如,邏輯區塊、邏輯頁面或邏輯扇區)與實體單元(如,實體抹除單元、實體程式化單元、實體扇區)之間的映射關係。邏輯轉實體表又稱為邏輯轉實體位址映射表,實體轉邏輯表又稱為實體轉邏輯位址映射表。換言之,儲存控制器200可藉由邏輯轉實體表來查找一邏輯單元所映射的實體單元,並且儲存控制器可藉由實體轉邏輯位址映射表來查找一實體單元所映射的邏輯單元。邏輯轉實體或實體轉邏輯位址映射表可暫存在靜態隨機存取記憶體240或動態隨機存取記憶體280中。然而,上述有關邏輯單元與實體單元映射的技術概念為本領域技術人員之慣用技術手段,不再贅述於此。
在本實施例中,快閃記憶體存取電路220還可包括邏輯轉實體表更新電路221用以在寫入指令執行完畢後自動更新靜態隨機存取記憶體240或動態隨機存取記憶體280中的邏輯轉實體表。
圖3為根據本發明的一實施例的邏輯轉實體表更新方法的流程圖。
請參照圖3,在步驟S301中,藉由處理器210傳送寫入指令到快閃記憶體存取電路220。
具體來說,寫入指令可包括操作碼(operation code,op code)、實體位址、資料來源及隨機存取記憶體的更新位址。隨機存取記憶體可為靜態隨機存取記憶體240或動態隨機存取記憶體 280。操作碼代表了要被執行的操作種類。實體位址為寫入指令將資料寫入快閃記憶體270的實體位址。資料來源記錄了對應寫入指令的寫入資料所在的邏輯單元。隨機存取記憶體的更新位址記錄了隨機存取記憶體中的邏輯轉實體表要被更新的位址。
在步驟S303中,藉由快閃記憶體存取電路220執行寫入指令來存取快閃記憶體270。具體來說,快閃記憶體存取電路220會將對應該資料來源的寫入資料寫入到快閃記憶體270的實體位址。
在步驟S305中,在快閃記憶體存取電路220執行寫入指令之後,藉由快閃記憶體存取電路220更新隨機存取記憶體中的邏輯轉實體表。具體來說,當快閃記憶體存取電路220成功將寫入資料寫入到快閃記憶體270的實體位址之後,邏輯轉實體表更新電路221會將此實體位址寫入到隨機存取記憶體的更新位址,以完成邏輯轉實體表的更新操作。
圖4A及圖4B為根據本發明的一實施例的更新邏輯轉實體表的示意圖。
在圖4A中,邏輯轉實體表400會記錄在隨機存取記憶體的一個位址區段中,例如是從0x4000開始的一個位址區段中。邏輯轉實體表400的每個欄位大小可為四個位元組(byte)以記錄邏輯單元所對應的實體位址。在本實施例中,儲存裝置20的邏輯單元是以邏輯區塊位址(Logic Block Address,LBA)來表示,例如儲存裝置20包括邏輯單元LBA(0)、LBA(1)、...、LBA(N)。因此,位 址0x4000可對應到LBA(0)且位址0x4000記錄了LBA(0)映射到的實體位址,位址0x4004可對應LBA(1)且位址0x4004記錄了LBA(1)映射到的實體位址,以此類推。
在圖4B中,假設寫入指令指示將寫入來源為LBA(7)的資料寫入快閃記憶體270的實體位址A,則在寫入指令中還會包括隨機存取記憶體中邏輯轉實體表的更新位址,也就是0x401C。當快閃記憶體存取電路220成功將LBA(7)的資料寫入到快閃記憶體270的實體位址A之後,邏輯轉實體表更新電路221會將實體位址A寫入到隨機存取記憶體中的位址0x401C,以完成邏輯轉實體表的更新操作。
綜上所述,本發明的邏輯轉實體表更新方法及儲存控制器會在快閃記憶體存取電路執行寫入指令之後,藉由快閃記憶體存取電路中的邏輯轉實體表更新電路來更新隨機存取記憶體中的邏輯轉實體表。如此一來,快閃記憶體存取電路就不用在寫入指令執行完畢之後傳送中斷訊號給處理器再透過處理器執行韌體以更新隨機存取記憶體中的邏輯轉實體表。指令執行速度可因此增加,從而提高系統的每秒輸入輸出操作。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S301、S303、S305:邏輯轉實體表更新方法的步驟

Claims (12)

  1. 一種邏輯轉實體表更新方法,適用於一儲存控制器及一快閃記憶體(flash),該儲存控制器包括一處理器及一快閃記憶體存取電路,該快閃記憶體存取電路耦接到該快閃記憶體,該邏輯轉實體表更新方法包括: 藉由該處理器傳送一寫入指令到該快閃記憶體存取電路; 藉由該快閃記憶體存取電路執行該寫入指令來存取該快閃記憶體;以及 在該快閃記憶體存取電路執行該寫入指令之後,藉由該快閃記憶體存取電路更新一隨機存取記憶體中的一邏輯轉實體表。
  2. 如申請專利範圍第1項所述的邏輯轉實體表更新方法,其中該處理器藉由該邏輯轉實體表來查找一邏輯單元所映射的一實體單元。
  3. 如申請專利範圍第1項所述的邏輯轉實體表更新方法,其中該寫入指令包括一實體位址、一資料來源及該隨機存取記憶體的一更新位址。
  4. 如申請專利範圍第3項所述的邏輯轉實體表更新方法,其中藉由該快閃記憶體存取電路執行該寫入指令的步驟包括:藉由該快閃記憶體存取電路將對應該資料來源的一資料寫入到該快閃記憶體的該實體位址。
  5. 如申請專利範圍第3項所述的邏輯轉實體表更新方法,其中藉由該快閃記憶體存取電路更新該隨機存取記憶體中的該邏輯轉實體表的步驟包括:藉由該快閃記憶體存取電路將該實體位址寫入到該隨機存取記憶體的該更新位址。
  6. 如申請專利範圍第1項所述的邏輯轉實體表更新方法,其中該隨機存取記憶體為該儲存控制器中的一靜態隨機存取記憶體(SRAM)或耦接到該儲存控制器的一動態隨機存取記憶體(RAM)。
  7. 一種儲存控制器,包括: 一處理器;以及 一快閃記憶體存取電路,透過一匯流排耦接到該處理器,其中該快閃記憶體存取電路耦接到一快閃記憶體,其中 該處理器傳送一寫入指令到該快閃記憶體存取電路; 該快閃記憶體存取電路執行該寫入指令來存取該快閃記憶體;以及 在該快閃記憶體存取電路執行該寫入指令之後,該快閃記憶體存取電路更新一隨機存取記憶體中的一邏輯轉實體表。
  8. 如申請專利範圍第7項所述的儲存控制器,其中該處理器藉由該邏輯轉實體表來查找一邏輯單元所映射的一實體單元。
  9. 如申請專利範圍第7項所述的儲存控制器,其中該寫入指令包括一實體位址、一資料來源及該隨機存取記憶體的一更新位址。
  10. 如申請專利範圍第9項所述的儲存控制器,其中該快閃記憶體存取電路將對應該資料來源的一資料寫入到該快閃記憶體的該實體位址。
  11. 如申請專利範圍第9項所述的儲存控制器,其中在該快閃記憶體存取電路執行該寫入指令之後,該快閃記憶體存取電路將該實體位址寫入到該隨機存取記憶體的該更新位址。
  12. 如申請專利範圍第7項所述的儲存控制器,其中該隨機存取記憶體為該儲存控制器中的一靜態隨機存取記憶體或耦接到該儲存控制器的一動態隨機存取記憶體。
TW107117742A 2018-05-24 2018-05-24 邏輯轉實體表更新方法及儲存控制器 TWI686698B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW107117742A TWI686698B (zh) 2018-05-24 2018-05-24 邏輯轉實體表更新方法及儲存控制器
US16/114,242 US20190361803A1 (en) 2018-05-24 2018-08-28 Logical-to-physical table updating method and storage controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107117742A TWI686698B (zh) 2018-05-24 2018-05-24 邏輯轉實體表更新方法及儲存控制器

Publications (2)

Publication Number Publication Date
TW202004503A TW202004503A (zh) 2020-01-16
TWI686698B true TWI686698B (zh) 2020-03-01

Family

ID=68613614

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107117742A TWI686698B (zh) 2018-05-24 2018-05-24 邏輯轉實體表更新方法及儲存控制器

Country Status (2)

Country Link
US (1) US20190361803A1 (zh)
TW (1) TWI686698B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201145012A (en) * 2010-02-12 2011-12-16 Toshiba Kk Semiconductor memory device
TW201805814A (zh) * 2008-11-06 2018-02-16 慧榮科技股份有限公司 用來管理一記憶裝置之方法以及其相關之記憶裝置
TW201818250A (zh) * 2016-11-08 2018-05-16 美商美光科技公司 混合記憶體中之資料重新定位

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101992934B1 (ko) * 2012-11-14 2019-06-26 삼성전자주식회사 메모리 시스템 및 이의 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201805814A (zh) * 2008-11-06 2018-02-16 慧榮科技股份有限公司 用來管理一記憶裝置之方法以及其相關之記憶裝置
TW201145012A (en) * 2010-02-12 2011-12-16 Toshiba Kk Semiconductor memory device
TW201818250A (zh) * 2016-11-08 2018-05-16 美商美光科技公司 混合記憶體中之資料重新定位

Also Published As

Publication number Publication date
TW202004503A (zh) 2020-01-16
US20190361803A1 (en) 2019-11-28

Similar Documents

Publication Publication Date Title
TWI592800B (zh) 記憶體管理方法及使用所述方法的儲存控制器
TWI679537B (zh) 資料移動方法及儲存控制器
US8244963B2 (en) Method for giving read commands and reading data, and controller and storage system using the same
US9176865B2 (en) Data writing method, memory controller, and memory storage device
US9021218B2 (en) Data writing method for writing updated data into rewritable non-volatile memory module, and memory controller, and memory storage apparatus using the same
TWI592799B (zh) 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置
TW201437807A (zh) 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置
CN107590080B (zh) 映射表更新方法、存储器控制电路单元及存储器存储装置
TWI421870B (zh) 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
TWI656531B (zh) 平均磨損方法、記憶體控制電路單元與記憶體儲存裝置
TW201807580A (zh) 資料傳輸方法及使用所述方法的儲存控制器與清單管理電路
CN107943710B (zh) 存储器管理方法及使用所述方法的存储控制器
US9378130B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
US8943264B2 (en) Data storing method, and memory controller and memory storage apparatus using the same
TWI448892B (zh) 資料搬移方法、記憶體控制器與記憶體儲存裝置
TWI785876B (zh) 映射資訊記錄方法、記憶體控制電路單元與記憶體儲存裝置
TW201935232A (zh) 記憶體管理方法及使用所述方法的儲存控制器
TWI635495B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN112051971A (zh) 数据整并方法、存储器存储装置及存储器控制电路单元
TWI553477B (zh) 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
US8832358B2 (en) Data writing method, memory controller and memory storage apparatus
TWI686698B (zh) 邏輯轉實體表更新方法及儲存控制器
TWI813362B (zh) 部分抹除管理方法、記憶體儲存裝置及記憶體控制電路單元
TWI823792B (zh) 映射表更新方法、記憶體儲存裝置及記憶體控制電路單元
CN112181859B (zh) 有效数据合并方法、存储器控制电路单元与存储装置