TW201826127A - 數據儲存設備及其操作方法 - Google Patents

數據儲存設備及其操作方法 Download PDF

Info

Publication number
TW201826127A
TW201826127A TW106140546A TW106140546A TW201826127A TW 201826127 A TW201826127 A TW 201826127A TW 106140546 A TW106140546 A TW 106140546A TW 106140546 A TW106140546 A TW 106140546A TW 201826127 A TW201826127 A TW 201826127A
Authority
TW
Taiwan
Prior art keywords
address
write
logical address
read
data
Prior art date
Application number
TW106140546A
Other languages
English (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 TW201826127A publication Critical patent/TW201826127A/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/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • 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
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/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
    • 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
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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/202Non-volatile memory
    • G06F2212/2022Flash 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/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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer 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/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/0656Data buffering arrangements

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

Abstract

一種數據儲存設備包括:非揮發性記憶體裝置;隨機存取記憶體,其包括被配置為儲存從主機設備接收的邏輯位址與非揮發性記憶體裝置的物理位址之間的映射資訊的位址映射表;以及處理器,其被配置成當從主機設備接收寫入請求時,透過改變寫入邏輯位址的位元中的特定位元的值來產生修改的寫入邏輯位址並且將修改的寫入邏輯位址儲存在位址映射表中。

Description

數據儲存設備及其操作方法
各個實施例通常可以關於一種半導體設備,並且更特別地,關於一種數據儲存設備及其操作方法。
近年來,電腦環境典範轉變至可以隨時隨地使用電腦系統的普遍適用的計算系統。因此,諸如行動電話、數位相機和筆記型電腦的便攜式電子設備的使用已經快速增長。通常,便攜式電子設備使用採用記憶體裝置的數據儲存設備。數據儲存設備可以用於儲存在便攜式電子設備中使用的數據。
使用記憶體裝置的數據儲存設備不具有機械驅動單元並且表現優良的穩定性和耐久性、高資訊存取速度和低功耗。這種數據儲存設備可以包括通用序列匯流排(USB)記憶體裝置、具有各種介面的記憶卡、通用快閃記憶體儲存(UFS)裝置、固態硬碟(SSD)等。
相關申請案的交叉引用: 本申請案請求於2017年1月4日向韓國智慧財產局提交的申請號為10-2017-0001447的韓國專利申請案的優先權,其整體透過引用併入本文。
實施例係提供能夠提高讀取性能的數據儲存裝置及其操作方法。
在本發明的實施例中,數據儲存設備可以包括:非揮發性記憶體裝置;隨機存取記憶體,其包括被配置為儲存從主機設備接收的邏輯位址與非揮發性記憶體裝置的物理位址之間的映射資訊的位址映射表;以及處理器,其被配置成當從主機設備接收寫入請求時,透過改變寫入邏輯位址的位元中的特定位元的值來產生修改的寫入邏輯位址並且將修改的寫入邏輯位址儲存在位址映射表中。
在本發明的另一實施例中,數據儲存設備的操作方法可以包括:確定是否從主機設備接收寫入請求;以及當從主機設備接收寫入請求時,透過改變寫入邏輯位址的特定位元的值來產生修改的寫入邏輯位址,並且將修改的寫入邏輯位址儲存在位址映射表中。
在本發明的實施例中,數據儲存設備可以包括:非揮發性記憶體裝置;位址映射表,其被配置為儲存從主機設備接收的邏輯位址與非揮發性記憶體裝置的物理位址之間的映射資訊,並且當從主機設備接收寫入請求時,儲存修改的寫入邏輯位址;寫入緩衝器,其被配置為當從主機設備接收寫入請求時,臨時儲存寫入邏輯位址和寫入數據;以及處理器,其被配置為透過改變寫入邏輯位址的特定位元的值來產生修改的寫入邏輯位址。
根據實施例,在處理來自主機設備的讀取請求的進程中,可以縮短用於確定請求讀取的數據的儲存位置的搜尋請求讀取的邏輯位址的操作,並且因此可以提高數據儲存設備的讀取操作速度和讀取性能。
將參照附圖更詳細地描述本發明的各個實施例。然而,本發明可以以不同的形式實施並且不應被解釋為限於本文示出的實施例。相反,提供這些實施例作為示例,使得本發明將是徹底且完全的,並且將向本發明所屬領域技術人員完全傳達本發明的各個方面和特徵。
將理解的是,雖然術語「第一」、「第二」、「第三」等可在本文使用以描述各種元件,但是這些元件不受這些術語限制。這些術語被用於區分一個元件與另一元件。因此,在不脫離本發明的精神和範圍的情況下,以下描述的第一元件也可被稱為第二元件或第三元件。
附圖不一定按比例繪製,在一些情況下,為了更清楚地示出實施例的各種元件,可能已經誇大了比例。例如,在附圖中,為了便於說明,與實際尺寸和間隔相比,元件的尺寸和元件之間的間隔可能被誇大。
將進一步理解的是,當一個元件被稱為「連接至」或「耦接至」另一元件時,其可以直接在其它元件上、連接至或耦接至其它元件,或可以存在一個或多個中間元件。另外,也將理解的是,當元件被稱為在兩個元件「之間」時,兩個元件之間可以僅有一個元件或也可存在一個或多個中間元件。
在本文中與項目列表一起使用的短語「......和......中的至少一個」是指列表中的單個項目或列表中項目的任何組合。例如,「A、B和C中的至少一個」是指只有A、或只有B、或只有C、或A、B和C的任何組合。
為了便於描述,在本文中可以使用諸如「下面」、「下方」、「下部」、「上方」、「上部」等的空間相對術語以描述如圖所示的一個元件或特徵與另一元件或特徵的關係。將理解的是,除了附圖中描繪的方位之外,空間相對術語旨在包括裝置在製造、使用或操作中的不同方位。例如,如果附圖中的裝置被翻轉,則被描述為在其它元件或特徵「下方」或「下面」的元件將在其它元件或特徵「上方」。裝置可以以其它方式定向(旋轉90度或在其它方位處),並且本文使用的空間相對描述符號應當被相應地解釋。
本文使用的術語的目的僅是描述特定實施例而不旨在限制本發明。如本文使用的,除非上下文另有清楚地說明,否則單數形式也旨在包括複數形式。將進一步理解的是,當在該說明書中使用術語「包括」、「包括有」、「包含」和「包含有」時,它們指定闡述的元件的存在而不排除一個或多個其它元件的存在或增加。如本文使用的,術語「和/或」包括一個或多個相關的所列項目的任何一個和所有組合。
除非另有限定,否則本文所使用的包括技術術語和科學術語的所有術語具有與本發明所屬領域中普通技術人員通常理解的含義相同的含義。將進一步理解的是,諸如在常用辭典中限定的那些術語的術語應被理解為具有與它們在本發明的上下文和相關領域中的含義一致的含義並且將不以理想化或過於正式的意義來解釋,除非本文如此明確地限定。
在以下描述中,為了提供本發明的徹底理解,闡述了許多具體細節。本發明可在沒有一些或全部的這些具體細節的情況下被實施。在其它情況下,為了避免不必要地模糊本發明,未詳細地描述公眾知悉的進程結構和/或進程。
也應注意的是,在一些情況下,對相關領域的技術人員顯而易見的是,結合一個實施例描述的元件(也被稱為特徵)可單獨使用或與另一實施例的其它元件結合使用,除非另有明確說明。
在下文中,將參照附圖詳細地描述本發明的各個實施例。
圖1是示出根據本發明的實施例的數據儲存設備10的方塊圖。圖2A和圖2B是概念性地示出圖1所示的隨機存取記憶體(RAM)220的配置的圖。
參照圖1,數據儲存設備10可以儲存待被諸如行動電話、MP3播放機、膝上型電腦,桌上型電腦、遊戲機、電視(TV)或車載資訊娛樂系統等的主機設備(未示出)存取的數據。數據儲存設備10也可以被稱為記憶體系統。
數據儲存設備10可以根據與主機設備的耦接的介面的協定被製造為各種類型的儲存設備中的任意一種。例如,數據儲存設備10可以被配置為諸如以下的各種類型的儲存設備中的任意一種:固態硬碟(SSD),以MMC、eMMC、RS-MMC和微型MMC形式的多媒體卡(multimedia card, MMC)、以SD、迷你SD和微型SD形式的安全數位(secure digital, SD)卡、通用序列匯流排(USB)儲存裝置、通用快閃記憶體儲存(UFS)裝置、國際個人電腦記憶卡協會(PCMCIA)卡式儲存裝置、週邊元件互連(PCI)卡式儲存裝置、高速PCI(PCI-E)卡式儲存裝置、標準快閃記憶體(CF)卡、智慧媒體卡和記憶棒等。
數據儲存設備10可以被製造為各種類型的封裝中的任意一種。例如,數據儲存設備10可以被製造為諸如以下的各種類型的封裝中的任意一種:堆疊封裝(POP)、系統級封裝(SIP)、系統單晶片(SOC)、多晶片封裝(MCP)、板上晶片(COB)、晶圓級製造封裝(WFP)和晶圓級堆疊封裝(WSP)。
數據儲存設備10可以包括非揮發性記憶體裝置100和控制器200。
非揮發性記憶體裝置100可以作為數據儲存設備10的儲存媒介。非揮發性記憶體裝置100可以包括諸如以下的各種類型的非揮發性記憶體裝置中的任意一種:NAND快閃記憶體裝置、NOR快閃記憶體裝置、使用鐵電電容器的鐵電隨機存取記憶體(FRAM)、使用隧道磁阻(TMR)層的磁性隨機存取記憶體(MRAM)、使用硫族化合物的相變隨機存取記憶體(PRAM)和使用過渡金屬化合物的電阻式隨機存取記憶體(RERAM)。
在圖1中已經說明,數據儲存設備10包括一個非揮發性儲存裝置100,但是這僅是為了清楚起見的示例。數據儲存設備10可以包括多個非揮發性記憶體裝置,並且本文描述的實施例可以同樣地應用於包括多個非揮發性記憶體裝置的數據儲存設備10。
雖然在圖1中未示出,但是非揮發性記憶體裝置100可以包括具有多個記憶體單元的記憶體單元陣列,多個記憶體單元被設置在其中多個位元線(未示出)和多個字元線(未示出)彼此交叉的區域中。
非揮發性記憶體裝置100可以包括多個記憶體塊(未示出)並且多個記憶體塊中的每一個可以包括多個頁面。
控制器200可以包括處理器210、隨機存取記憶體(RAM)220和位址搜尋引擎230。雖然在圖1中未示出,控制器200可以進一步包括:主機介面單元,其將控制信號、位址、數據等傳輸到主機設備並且從主機設備接收控制信號、位址、數據等;以及記憶體介面單元,其將控制信號、位址信號、數據等傳輸到非揮發性記憶體裝置100並且從非揮發性記憶體裝置100接收控制信號、位址信號、數據等。
處理器210可以控制控制器200的整體操作。處理器210可以分析和處理從主機設備輸入的信號、命令或請求。
例如,當讀取請求和邏輯塊位址(LBA)(在下文中,被稱為「讀取邏輯位址」)從主機設備被接收時,處理器210可以基於接收的讀取邏輯位址從非揮發性記憶體裝置100讀取數據並且將讀取的數據(在下文中,被稱為「讀取數據」)傳輸到主機設備。
當寫入請求、邏輯塊位址(LBA)(在下文中,被稱為「寫入邏輯位址」)和待寫入的數據(在下文中,被稱為「寫入數據」)從主機設備被接收時,處理器210可以基於接收的寫入邏輯位址將寫入數據寫入非揮發性記憶體裝置100中。
例如,處理器210可解碼並驅動載入到RAM 220上的韌體數據。處理器210可以利用硬體或硬體和軟體的組合來實施。
讀取邏輯位址和寫入邏輯位址可以分別是與讀取請求或寫入請求一起從主機設備傳輸的一個邏輯位址。但是邏輯位址可以指讀取邏輯位址和寫入邏輯位址,從而清楚地確定邏輯位址是在讀取請求中傳輸的邏輯位址還是寫入請求中傳輸的邏輯位址。
RAM 220可以儲存透過處理器210驅動的韌體數據。RAM 220還可以儲存驅動韌體數據所需的系統數據。例如,RAM 220可以作為處理器210的工作記憶體。
RAM 220可以臨時儲存從主機設備待傳輸到非揮發性記憶體裝置100的寫入數據或將從非揮發性記憶體裝置100傳輸到主機設備的讀取數據,並且可以臨時儲存從主機設備傳輸的寫入邏輯位址。
例如,參照圖2A,RAM 220可以包括臨時儲存從主機設備傳輸的寫入數據和寫入邏輯位址的寫入緩衝器WB。雖然在圖2A中未示出,但是寫入緩衝器WB可以包括臨時儲存寫入數據的寫入數據緩衝器和臨時儲存寫入邏輯位址的位址緩衝器。
RAM 220可以包括位址映射表AMT,其儲存其中寫入數據被儲存在非揮發性記憶體裝置100中的物理塊位址(PBA)(在下文中,被稱為「物理位址」)以及與其對應且互相匹配的寫入邏輯位址。
寫入緩衝器WB可以臨時儲存從主機設備傳輸的寫入邏輯位址和寫入數據,直到寫入數據被儲存在非揮發性記憶體裝置100中。在寫入數據被儲存在非揮發性記憶體裝置100中之後,儲存在寫入緩衝器WB中的寫入邏輯位址和寫入數據可以從寫入緩衝器WB中刪除,但不限於此。
位址映射表AMT可以被配置為對應於包括在非揮發性記憶體裝置100中的多個記憶體塊中的一個或多個記憶體塊或者對應於所有多個記憶體塊。
在操作中,當寫入請求從主機設備被接收時,位址映射表AMT可以臨時儲存透過處理器210產生的修改的寫入邏輯位址。在實施例中修改的寫入邏輯位址可以指透過改變寫入邏輯位址的位元中的特定位元的值而產生的寫入邏輯位址。修改的寫入邏輯位址的特定位元的值可以提供與對應於寫入邏輯位址的寫入數據的當前位置相關的資訊。
例如,修改的寫入邏輯位址的特定位元的值可以作為指示對應於寫入邏輯位址的寫入數據是被當前臨時儲存在寫入緩衝器WB中的資訊,還是被當前儲存在非揮發性記憶體裝置100的記憶體塊中的資訊。
在對應於寫入邏輯位址的寫入數據被儲存在非揮發性記憶體裝置100的記憶體塊中之後,儲存在位址映射表AMT中的修改的寫入邏輯位址可以透過處理器210被恢復到原始寫入邏輯位址。
例如,在實施例中,當寫入邏輯位址和寫入數據從主機設備被接收時,寫入邏輯位址可以被臨時儲存在寫入緩衝器WB中並且同時修改的寫入邏輯位址可以被儲存在位址映射表AMT中。這允許當讀取請求從主機設備被接收時透過僅掃描位址映射表AMT來快速搜尋讀取邏輯位址。例如,可透過處理器210或者在處理器210的控制下透過位址搜尋引擎執行搜尋。
通常,當讀取請求從主機設備被接收時,處理器210可以透過掃描RAM 220的寫入緩衝器WB來確定讀取邏輯位址是否被存在於寫入緩衝器WB中。當與讀取請求一起接收的讀取邏輯位址與儲存在寫入緩衝器WB中的寫入邏輯位址匹配時,處理器210可以確定讀取的邏輯位址存在於寫入緩衝器WB中。當讀取邏輯位址存在於寫入緩衝器WB中時,處理器210可以從寫入緩衝器WB讀出讀取數據並且將讀取數據傳輸到主機設備,或者當讀取邏輯位址不存在於寫入緩衝器WB中時,處理器210可以透過掃描位址映射表AMT來搜尋讀取邏輯位址,從非揮發性記憶體裝置100讀出讀取數據並且將讀取數據傳輸到主機設備。
因此,可以在兩個階段中執行根據主機設備的讀取請求搜尋讀取邏輯位址的操作。因此,讀取速度可能降低並且讀取性能可能下降。
在實施例中,如上所述,由於僅在位址映射表AMT中搜尋讀取邏輯位址,因此可以更快地確定讀取數據的當前位置,並且因此可以提高數據儲存設備10的讀取性能。
實施例中的位址映射表AMT可以包括邏輯塊位址至物理塊位址(L2P)表和物理塊位址至邏輯塊位址(P2L)表。
如圖3A和圖3B所示,位址映射表AMT可以被劃分成多個段。非揮發性記憶體裝置100的相應記憶體塊也可以包括多個段。例如,位址映射表AMT的段可以對應於記憶體塊的段。
在實施例中,位址映射表AMT的段的數量可以與記憶體塊的段的數量相同,但是不限於此。位址映射表AMT的段的數量可以大於記憶體塊的段的數量。例如,位址映射表AMT的段的數量可以比記憶體塊的段的數量大出包含在記憶體塊的至少一個或多個頁面中的段的數量,但是不限於此。位址映射表AMT中的段的大小可以不同於記憶體塊中的段的大小,但是不限於此。
參照圖2B,RAM 220可以包括寫入緩衝器WB、第一位址映射表AMT1和第二位址映射表AMT2。如上所述,寫入緩衝器WB可以包括被配置為臨時儲存待傳輸到非揮發性記憶體裝置100的寫入數據的寫入數據緩衝器和被配置為臨時儲存寫入邏輯位址的位址緩衝器。
第一位址映射表AMT1可以為了執行寫入操作的非揮發性記憶體裝置100的記憶體塊(在下文中也被稱為開放塊)儲存邏輯位址。第一位址映射表AMT1可以具有與圖2A所示的位址映射表AMT相同的配置。然而,當相應的開放塊的寫入操作被完成並且關於開放塊的映射資訊的更新被完成時,可以刪除儲存在第一位址映射表AMT1中的邏輯位址。
第二位址映射表AMT2可以僅儲存關於其中寫入操作被完成的記憶體塊(在下文中也被稱為封閉塊)的位址映射資訊的片段(piece)的部分。例如,第二位址映射表AMT2可以是映射快取(cache)。
關於其中寫入操作被完成的封閉塊的更新的位址映射資訊可以被儲存在非揮發性記憶體裝置100中的映射表(未示出)中。非揮發性記憶體裝置100中的映射表可以儲存關於諸如非揮發性記憶體裝置的所有封閉記憶體塊的整個非揮發性記憶體裝置100的位址映射資訊的片段,並且因此,映射表可能具有巨大的大小。
當讀取請求從主機被接收時,如果讀取請求的數據不存在於寫入緩衝器WB中,則處理器210可能透過掃描非揮發性記憶體裝置100的映射表來不可避免地搜尋讀取請求的數據的位置。然而,可能需要相當長的時間來搜尋如上所述具有巨大的大小的非揮發性記憶體裝置100的整個映射表,並且因此,讀取性能可能下降。
為此原因,在本發明的實施例中,儲存在非揮發性記憶體裝置100中的映射表的位址映射資訊的片段的部分,例如,關於具有高存取頻率的邏輯位址或最近請求存取的邏輯位址的映射資訊的片段可以被載入到RAM 220的第二位址映射表AMT2上。因此,可以透過搜尋第二位址映射表AMT2來更快地搜尋讀取請求的數據的位置。
在圖2B中,第一位址映射表AMT1可以儲存關於非揮發性記憶體裝置100的多個記憶體塊中的開放塊的位址映射資訊的片段,而第二位址映射表AMT2可以儲存非揮發性記憶體裝置100中的多個記憶體塊中的關於封閉塊的位址映射資訊的片段的部分。
位址搜尋引擎230可以被配置為當從主機設備接收讀取請求時,在處理器210的控制下透過掃描RAM 220的位址映射表AMT來搜尋讀取邏輯位址。例如,位址搜尋引擎230可以透過將RAM 220的位址映射表AMT掃描到寫入方向的相反方向來搜尋從主機設備傳輸的讀取邏輯位址並且將搜尋的讀取邏輯位址傳輸到處理器210。
處理器210可以在來自主機設備的寫入請求中將寫入邏輯位址和寫入數據儲存在寫入緩衝器WB中,同時將其中寫入邏輯位址特定位元的值被改變的修改的寫入邏輯位址儲存在位址映射表AMT中。處理器210可以控制非揮發性記憶體裝置100的操作,使得寫入數據被寫入非揮發性記憶體裝置100中。當寫入數據被寫入非揮發性記憶體裝置100時,處理器210可以透過改變或移除儲存在位址映射表AMT中的修改的寫入邏輯位址的特定位元的值來將修改的寫入邏輯位址恢復到原始的寫入邏輯位址。
例如,當讀取請求從主機設備被接收時,處理器210可以不透過掃描寫入緩衝器WB而是透過僅掃描位址映射表AMT來搜尋讀取邏輯位址。在該示例中,處理器210可以對位址映射表AMT執行掃描操作,或者位址搜尋引擎230可以在處理器210的控制下掃描位址映射表AMT並且將掃描結果提供給處理器210。
處理器210可以驗證搜尋的讀取邏輯位址的特定位元的值,並且基於特定位元的值來確定對應於讀取邏輯位址的讀取數據的儲存位置。例如,處理器210可以基於特定位元的值來確定讀取數據是被儲存在寫入緩衝器WB中還是非揮發性記憶體裝置100的記憶體塊中,處理器210可以從相應位置讀出讀取數據並且將讀取數據傳輸到主機設備。
例如,當在RAM 220包括例如如圖2B所示的第一位址映射表AMT1和第二位址映射表AMT2的兩個位址映射表的狀態下,讀取請求從主機設備被接收時,可以透過處理器210掃描第一位址映射表AMT1,並且可以透過位址搜尋引擎230掃描第二位址映射表AMT2。在該示例中,可以同時掃描第一位址映射表AMT1和第二位址映射表AMT2。在另一示例中,可以透過位址搜尋引擎230掃描第一位址映射表AMT1,並且可以透過處理器210掃描第二位址映射表AMT2。
將參照圖3A詳細描述根據實施例的數據儲存設備10的寫入操作。在圖3A中已經描述RAM 220包括寫入緩衝器WB和位址映射表AMT,但是不限於此。
圖3A是示出根據本發明的實施例的數據寫入操作的示例的圖。
參照圖3A,當寫入請求、寫入邏輯位址LBA1和寫入數據Data1從主機設備被接收時,處理器210可以將寫入邏輯位址LBA1和寫入數據Data1儲存在寫入緩衝器WB中(①),並且同時將修改的寫入邏輯位址#LBA1儲存在位址映射表AMT中(①)。可以透過改變從主機設備傳輸的原始的寫入邏輯位址LBA1的所有位元中的特定位元的值來產生修改的寫入邏輯位址#LBA1。
為了清楚起見,可以假設寫入邏輯位址由4個位元組(即,32位元)表示,「LBA1」表示邏輯位址為「1」,並且寫入邏輯位址LBA1可以以十六進位數儲存在寫入緩衝器WB和位址映射表AMT中。
處理器210可以將具有「0x00000001」的寫入邏輯位址LBA1儲存在寫入緩衝器WB中,並且同時將具有「0x80000001」的修改的寫入邏輯位址#LBA1儲存在位址映射表AMT中。即,處理器210可以透過將寫入邏輯位址LBA1的最高有效位元(MSB)的值改變為「1」來產生修改的寫入邏輯位址#LBA1。此處,術語「改變」可以指術語「反轉」或「插入」。在該示例中,在修改的寫入邏輯位址#LBA1中改變的特定位元可以是MSB。
在處理器210中產生修改的寫入邏輯位址#LBA1的方法不限於此,並且寫入邏輯位址LBA1中的任意位置的位元值也可以改變。僅可以改變可能對實際寫入邏輯位址LBA1沒有影響的位置中的位元值。
可以預先設定關於指示寫入邏輯位址的32位元中的寫入數據的當前儲存位置的位元的資訊。處理器210可以已經預先知道該資訊,並且在該狀態下,處理器210可以透過改變相應位元的值來產生修改的寫入邏輯位址#LBA1並且將修改的寫入邏輯位址儲存在位址映射表AMT中。
處理器210可以控制非揮發性記憶體裝置100將寫入數據Data1寫入非揮發性記憶體裝置100的任意記憶體塊BLK(②)。控制非揮發性記憶體裝置100在處理器210中執行寫入操作的方法是眾所周知的,並且因此將省略其詳細描述。
處理器210可以將儲存在位址映射表AMT中的修改的寫入邏輯位址#LBA1恢復到原始寫入邏輯位址LBA1,例如從主機設備傳輸的寫入邏輯位址LBA1(③)。如上所述,由於處理器210知道特定位元,例如指示關於數據的儲存位置的資訊的位元,因此處理器210可以透過改變或刪除相應位元的值來將修改的寫入邏輯位址#LBA1恢復到原始的寫入邏輯位址LBA1。
將參照圖3B詳細描述根據實施例的數據儲存設備10的讀取操作。
圖3B是示出根據本發明的實施例的數據讀取操作的示例的圖。
參照圖3B,當讀取請求和讀取邏輯位址LBA1被從主機設備接收時,處理器210可以透過掃描位址映射表AMT來搜尋對應於讀取邏輯位址LBA1的邏輯位址(①)。例如,可以在處理器210的控制下,透過處理器210或透過位址搜尋引擎230來執行對應於讀取邏輯位址LBA1的邏輯位址的搜尋。在該示例中,在搜尋對應於讀取邏輯位址LBA1的邏輯位址的進程中,指示關於寫入數據的預設儲存位置的資訊的特定位元的值可以忽略不計。
當對應於讀取邏輯位址LBA1的邏輯位址從位址映射表AMT被搜尋時,處理器210可以基於特定位元的值來驗證搜尋的邏輯位址的特定位元的值並且確定待讀取的數據的儲存位置。
例如,當特定位元是MSB並且搜尋的邏輯位址是「#LBA1(例如,0x80000001)」時,處理器210可以基於MSB的值(「1」)來確定待讀取的數據的當前儲存位置為寫入緩衝器WB。因此,處理器210可以從寫入緩衝器WB讀取請求讀取的數據並且將從寫入緩衝器WB讀取的讀取數據傳輸到主機設備(②)。
當搜尋的邏輯位址為「LBA1(例如,0x00000001)」時,處理器210可以基於MSB的值(例如,「0」)來確定待讀取的數據的當前儲存位置為非揮發性記憶體裝置100。因此,處理器210可以從非揮發性記憶體裝置100讀取請求讀取的數據並且將從非揮發性記憶體裝置100讀取的讀取數據傳輸到主機設備(②)。
圖4是示出根據本發明的實施例的數據儲存裝置的操作方法的流程圖。
在操作S410中,處理器210可以確定從主機設備接收寫入請求W還是讀取請求R。可以重複執行操作S410中的確定操作,直到從主機設備接收寫入請求或讀取請求。
當從主機設備接收寫入請求W時,處理器210可以進行到操作S420。
在操作S420中,處理器210可以透過改變從主機設備接收的寫入邏輯位址中的特定位元的值來產生修改的寫入邏輯位址,並且將產生的修改的寫入邏輯位址儲存在RAM 220的位址映射表AMT(或第一位址映射表AMT1)中。同時,處理器210還可以將從主機設備接收的寫入邏輯位址和寫入數據儲存在RAM 220的寫入緩衝器WB中。
在操作S430中,處理器210可以確定從主機設備接收的寫入數據是否被寫入非揮發性記憶體裝置100中。當確定寫入數據被寫入非揮發性記憶體裝置100,即寫入已經完成時,處理器210可以進行到操作S440。
在操作S440中,處理器210可以透過改變或刪除修改的寫入邏輯位址的特定位元的值來將儲存在位址映射表AMT(或第一位址映射表AMT1)中的修改的寫入邏輯位址恢復到原始的寫入邏輯位址。處理器210可以將恢復的寫入邏輯位址儲存在位址映射表AMT(或第一位址映射表AMT1)中。
當在操作S410中從主機設備接收讀取請求R時,處理器210可以進行到操作S450。
在操作S450中,處理器210可以透過掃描位址映射表AMT(或第一位址映射表AMT1)來搜尋從主機設備接收的讀取邏輯位址。處理器210可以直接掃描位址映射表AMT(或第一位址映射表AMT1),或者位址搜尋引擎230可以在處理器210的控制下掃描位址映射表AMT(或第一位址映射表AMT1)。
在操作S460中,處理器210可以確定是否從位址映射表AMT(或第一位址映射表AMT1)搜尋讀取邏輯位址。當搜尋讀取邏輯位址(即,搜尋完成)時,處理器210可以進行到操作S470。
在操作S470中,處理器210可以驗證搜尋的讀取邏輯位址的特定位元的值,並且然後基於特定位元的值來確定請求讀取的數據的當前儲存位置。例如,處理器210可以基於從位址映射表AMT(或第一位址映射表AMT1)搜尋的讀取邏輯位址的特定位元的值來確定請求讀取的數據當前是被儲存在非揮發性記憶體裝置100中還是被儲存在寫入緩衝器WB中。
雖然在圖4中未示出,在操作S470之後,處理器210可以進一步執行從非揮發性記憶體裝置100或寫入緩衝器WB讀取請求讀取的數據並且將請求讀取的數據傳輸到主機設備的操作。
雖然在圖4中未示出,當RAM 220包括如圖2B所述的第一位址映射表AMT1和第二位址映射表AMT2時,在操作S450中,處理器210可以掃描第一位址映射表AMT1(或第二位址映射表AMT2),並且同時位址搜尋引擎230可以在處理器210的控制下掃描第二位址映射表AMT2(或第一位址映射表AMT1)。
圖5是示出根據本發明的實施例的包括固態硬碟(SSD)2200的數據處理系統2000的示例的圖。
參照圖5,數據處理系統2000可以包括主機設備2100和SSD 2200。
SSD 2200可以包括控制器2210、緩衝記憶體裝置2220、非揮發性記憶體裝置2231~223n、電源2240、信號連接器2250和電源連接器2260。
控制器2210可以控制SSD 2220的整體操作。
緩衝記憶體裝置2220可以臨時儲存待儲存在非揮發性記憶體裝置2231~223n中的數據。緩衝記憶體裝置2220可以臨時儲存從非揮發性記憶體裝置2231~223n讀取的數據。臨時儲存在緩衝記憶體裝置2220中的數據可以根據控制器2210的控制被傳輸到主機設備2100或非揮發性記憶體裝置2231~223n。
非揮發性記憶體裝置2231~223n可以作為SSD 2200的儲存媒介。非揮發性記憶體裝置2231~223n可以透過多個通道CH1~CHn耦接到控制器2210。一個或多個非揮發性記憶體裝置可以耦接到一個通道。耦接到一個通道的非揮發性記憶體裝置可以耦接到相同的信號匯流排和相同的數據匯流排。
電源2240可以將透過電源連接器2260輸入的電力PWR提供給SSD 2200的內部。電源2240可以包括輔助電源2241。輔助電源2241可以提供電力,使得即使當發生突然斷電時SSD 2200也正常地終止。輔助電源2241可以包括能夠為電力PWR充電的大容量電容器。
控制器2210可以透過信號連接器2250與主機設備2100交換信號SGL。信號SGL可以包括命令、位址、數據等。根據主機設備2100和SSD 2200之間的介面連接方法,信號連接器2250可以由各種類型的連接器配置。
圖6是示出圖5所示的控制器2210的示例的圖。控制器2210可以包括圖1的實施例的控制器200的部件,並且可以如以上參照圖1至圖5所述執行控制器200的功能。
參考圖6,控制器2210可以包括主機介面單元2211、控制單元2212、隨機存取記憶體(RAM)2213、錯誤校正碼(ECC)單元2214和記憶體介面單元2215。
主機介面單元2211可以根據主機設備2100的協定在主機設備2100和SSD 2200之間執行介面連接。例如,主機介面單元2211可以透過諸如以下的任意一種協定與主機設備2100通訊:安全數位協定、通用序列匯流排(USB)協定、多媒體卡(MMC)協定、嵌入式MMC(eMMC)協定、國際個人電腦記憶卡協會(PCMCIA)協定、平行先進技術附件(PATA)協定、序列先進技術附件(SATA)協定、小型電腦系統介面(SCSI)協定、序列式SCSI(SAS)協定、週邊元件互連(PCI)協定、高速PCI(PCI-E)協定和通用快閃記憶體儲存(UFS)協定。主機介面單元2211可以執行磁碟模擬功能,即主機設備2100將SSD 2200識別為諸如硬碟HDD的通用數據儲存設備。
控制單元2212可以分析和處理從主機設備2100輸入的信號SGL。控制單元2212可以根據用於驅動SSD 2200的韌體和/或軟體來控制內部功能塊的操作。RAM 2213可以作為驅動韌體或軟體的工作記憶體。RAM 2213和控制單元2211可以與控制器200的處理器210和RAM 220相同。
ECC單元2214可以產生待被傳送到非揮發性記憶體裝置2231~223n的數據的同位檢查數據。已產生的同位檢查數據可以與數據一起被儲存在非揮發性記憶體裝置2231~223n中。ECC單元2214可以基於同位檢查數據為了從非揮發性記憶體裝置2231~223n讀取的數據來檢測錯誤。如果檢測的錯誤在可校正的範圍內,則ECC單元2214可以校正檢測的錯誤。
記憶體介面單元2215可以根據控制單元2212的控制將諸如命令和位址的控制信號提供給非揮發性記憶體裝置2231~223n。記憶體介面單元2215可以根據控制單元2212的控制與非揮發性記憶體裝置2231~223n交換數據。例如,記憶體介面單元2215可以將儲存在緩衝記憶體裝置2220中的數據提供給非揮發性記憶體裝置2231~223n,或將從非揮發性記憶體裝置2231~223n讀取的數據提供給緩衝記憶體裝置2220。
圖7是示出根據本發明的實施例的包括數據儲存設備3200的數據處理系統3000的示例的圖。
參照圖7,數據處理系統3000可以包括主機設備3100和數據儲存設備3200。
主機設備3100可以被配置成諸如印刷電路板(PCB)的板形式。雖然在圖7中未示出,但是主機設備3100可以包括被配置成執行主機設備的功能的內部功能塊。
主機設備3100可以包括諸如插座、插槽或連接器的連接端子3110。數據儲存設備3200可以被安裝在連接端子3110上。
數據儲存設備3200可以被配置成諸如PCB的板形式。數據儲存設備3200可以指記憶體模組或記憶卡。數據儲存設備3200可以包括控制器3210、緩衝記憶體裝置3220、非揮發性記憶體裝置3231~3232、電源管理積體電路(PMIC)3240和連接端子3250。
控制器3210可以控制數據儲存設備3200的整體操作。控制器3210可以被配置為具有與控制器2210相同的配置和功能。
緩衝記憶體裝置3220可以臨時儲存待被儲存在非揮發性記憶體裝置3231和非揮發性記憶體裝置3232中的數據。緩衝記憶體裝置3220可以臨時儲存從非揮發性記憶體裝置3231和非揮發性記憶體裝置3232讀取的數據。臨時儲存在緩衝記憶體裝置3220中的數據可以根據控制器3210的控制被傳輸到主機設備3100或非揮發性記憶體裝置3231和非揮發性記憶體裝置3232。
非揮發性記憶體裝置3231和非揮發性記憶體裝置3232可以作為數據儲存設備3200的儲存媒介。
PMIC 3240可以將透過連接端子3250輸入的電力提供到數據儲存設備3200的內部。PMIC 3240可以根據控制器3210的控制來管理數據儲存設備3200的電源。
連接端子3250可以耦接到主機設備3100的連接端子3110。諸如命令、位址和數據的信號以及電力可以透過連接端子3250在主機設備3100和數據儲存設備3200之間傳輸。連接端子3250可以根據主機設備3100和數據儲存設備3200之間的介面連接方法被配置成各種形式。連接端子3250可以被設置在數據儲存設備3200的任意一側中。
圖8是示出根據本發明的實施例的包括數據儲存設備4200的數據處理系統4000的示例的圖。
參照圖8,數據處理系統4000可以包括主機設備4100和數據儲存設備4200。
數據儲存設備4100可以被配置成諸如PCB的板形式。雖然在圖8中未示出,但是主機設備4100可以包括被配置成執行主機設備的功能的內部功能塊。
數據儲存設備4200可以表面安裝封裝的形式來配置。數據儲存設備4200可以透過焊球4250被安裝到主機設備4100上。數據儲存設備4200可以包括控制器4210、緩衝記憶體裝置4220和非揮發性記憶體裝置4230。
控制器4210可以控制數據儲存設備4200的整體操作。控制器4210可以被配置為具有與上述控制器2210相同的配置。
緩衝記憶體裝置4220可以臨時儲存待儲存在非揮發性記憶體裝置4230中的數據。緩衝記憶體裝置4220可以臨時儲存從非揮發性記憶體裝置4230讀取的數據。臨時儲存在緩衝記憶體裝置4220中的數據可以在控制器4210的控制下被傳輸到主機設備4100或非揮發性記憶體裝置4230。
非揮發性記憶體裝置4230可以作為數據儲存設備4200的儲存媒介。
圖9是示出根據本發明的實施例的包括數據儲存設備5200的網路系統5000的示例的圖。
參照圖9,網路系統5000可以包括透過網路5500耦接的伺服器系統5300和多個用戶端系統5410~5430。
伺服器系統5300可以回應於多個用戶端系統5410~5430的請求來供應數據。例如,伺服器系統5300可以儲存從多個用戶端系統5410~5430提供的數據。又例如,伺服器系統5300可以將數據提供給多個用戶端系統5410~5430。
伺服器系統5300可以包括主機設備5100和數據儲存設備5200。數據儲存設備5200可以被配置為圖1的數據儲存設備10、圖5的SSD 2200、圖7的數據儲存設備3200或圖8的數據儲存設備4200。
圖10是示出根據本發明的實施例的包括在數據儲存設備中的非揮發性記憶體裝置100的示例的方塊圖。非揮發性記憶體裝置100可以參照圖1至圖5執行上述功能。
參照圖10,非揮發性記憶體裝置100可以包括記憶體單元陣列110、行解碼器120、列解碼器140、數據讀取/寫入塊130、電壓產生器150和控制邏輯160。
記憶體單元陣列110可以包括被設置在字元線WL1~WLm和位元線BL1~BLn彼此相交的區域中的記憶體單元MC。
行解碼器120可以透過字元線WL1~WLm耦接到記憶體單元陣列110。行解碼器120可以在控制邏輯160的控制下操作。行解碼器120可以解碼從外部設備(未示出)提供的位址。行解碼器120可以基於解碼結果來選擇並驅動字元線WL1~WLm。例如,行解碼器120可以將從電壓產生器150提供的字元線電壓提供給從字元線WL1~WLm中選擇的一個。
數據讀取/寫入塊130可以透過位元線BL1~BLn耦接到記憶體單元陣列110。數據讀取/寫入塊130可以包括對應於位元線BL1~BLn的讀取/寫入電路RW1~RWn。數據讀取/寫入塊130可以根據控制邏輯160的控制來操作。數據讀取/寫入塊130可以根據操作模式作為寫入驅動器或讀出放大器來操作。例如,數據讀取/寫入塊130可以作為寫入驅動器來操作,該寫入驅動器被配置成在寫入操作中將從外部設備提供的數據儲存在記憶體單元陣列110中。在另一示例中,數據讀取/寫入塊130可以作為讀出放大器,該讀取放大器被配置成在讀取操作中從記憶體單元陣列110讀取數據。
列解碼器140可以在控制邏輯160的控制下操作。列解碼器140可以解碼從外部設備提供的位址。列解碼器140可以基於解碼結果耦接對應於位元線BL1~BLn的數據讀取/寫入塊130的讀取/寫入電路RW1~RWn和數據輸入/輸出(I/O)線路(或數據I/O緩衝器)。
電壓產生器150可以產生用於非揮發性記憶體裝置100的內部操作的電壓。透過電壓產生器150產生的電壓可以被施加到記憶體單元陣列110的記憶體單元。例如,在編程操作中產生的編程電壓可以被施加到將對其執行編程操作的記憶體單元的字元線。在另一示例中,在擦除操作中產生的擦除電壓可以被施加到將對其執行擦除操作的記憶體單元的阱區。在又一示例,在讀取操作中產生的讀取電壓可以被施加到將對其執行讀取操作的記憶體單元的字元線。
控制邏輯160可以基於從外部設備提供的控制信號控制非揮發性記憶體裝置100的總體操作。例如,控制邏輯160可以控制非揮發性記憶體裝置100的操作,諸如非揮發性記憶體裝置100的讀取操作、寫入操作和擦除操作。
本發明的上述實施例旨在說明而不是限制本發明。各種可選物和等同物是可能的。本發明不受本文所述的實施例的限制。本發明也不限於任何具體類型的半導體裝置。鑒於本發明,其它添加、刪減或變型是顯而易見的,並且旨在落入所附申請專利範圍的範圍內。
10‧‧‧數據儲存設備
100‧‧‧非揮發性記憶體裝置
110‧‧‧記憶體單元陣列
120‧‧‧行解碼器
130‧‧‧數據讀取/寫入塊
140‧‧‧列解碼器
150‧‧‧電壓產生器
160‧‧‧控制邏輯
200‧‧‧控制器
2000‧‧‧數據處理系統
210‧‧‧處理器
2100‧‧‧主機設備
220‧‧‧隨機存取記憶體
2200‧‧‧SSD
2210‧‧‧控制器
2211‧‧‧主機介面單元
2212‧‧‧控制單元
2213‧‧‧隨機存取記憶體
2214‧‧‧錯誤校正碼
2215‧‧‧記憶體介面單元
2220‧‧‧緩衝記憶體裝置
2231~223n‧‧‧非揮發性記憶體裝置
2240‧‧‧電源
2241‧‧‧輔助電源
2250‧‧‧信號連接器
2260‧‧‧電源連接器
230‧‧‧位址搜尋引擎
3000‧‧‧數據處理系統
3100‧‧‧主機設備
3110‧‧‧連接端子
3200‧‧‧數據儲存設備
3210‧‧‧控制器
3220‧‧‧緩衝記憶體裝置
3231‧‧‧非揮發性記憶體裝置
3232‧‧‧非揮發性記憶體裝置
3240‧‧‧電源管理積體電路
3250‧‧‧連接端子
4000‧‧‧數據處理系統
4100‧‧‧主機設備
4200‧‧‧數據儲存設備
4210‧‧‧控制器
4220‧‧‧緩衝記憶體裝置
4230‧‧‧非揮發性記憶體裝置
4250‧‧‧焊球
5000‧‧‧網路系統
5100‧‧‧主機設備
5200‧‧‧數據儲存設備
5300‧‧‧伺服器系統
5410‧‧‧用戶端系統
5420‧‧‧用戶端系統
5430‧‧‧用戶端系統
5500‧‧‧網路
AMT‧‧‧位址映射表
AMT1‧‧‧第一位址映射表
AMT2‧‧‧第二位址映射表
BL1~BLn‧‧‧位元線
BLK‧‧‧儲存塊
CH1~CHn‧‧‧通道
DATA1‧‧‧寫入數據
LBA1‧‧‧寫入邏輯位址
#LBA1‧‧‧修改的寫入邏輯位址
MC‧‧‧記憶體單元
PWR‧‧‧電力
R‧‧‧讀取請求
RW1~RWn‧‧‧讀取/寫入電路
S410~S470‧‧‧操作
SGL‧‧‧信號
W‧‧‧寫入請求
WB‧‧‧寫入緩衝器
WL1~WLm‧‧‧字元線
從以下結合附圖的詳細描述中將更清楚地理解本發明的主題的上述和其它方面、特徵及優點,其中: 圖1是示出根據本發明的實施例的數據儲存設備的方塊圖; 圖2A和圖2B是概念性地示出圖1所示的隨機存取記憶體的配置的圖; 圖3A是示出根據本發明的實施例的數據寫入操作的示例的圖; 圖3B是示出根據本發明的實施例的數據讀取操作的示例的圖; 圖4是示出根據本發明的實施例的數據儲存裝置的操作方法的流程圖; 圖5是示出根據本發明的實施例的包括固態硬碟(SSD)的數據處理系統的示例的圖; 圖6是示出圖5所示的控制器的示例的圖; 圖7是示出根據本發明的實施例的包括數據儲存設備的數據處理系統的示例的圖; 圖8是示出根據本發明的實施例的包括數據儲存設備的數據處理系統的示例的圖; 圖9是示出根據本發明的實施例的包括數據儲存設備的網路系統的示例的圖;以及 圖10是示出根據本發明的實施例的包括在數據儲存設備中的非揮發性記憶體裝置的示例的方塊圖。

Claims (19)

  1. 一種數據儲存設備,其包括: 非揮發性記憶體裝置; 隨機存取記憶體,其包括被配置為儲存從主機設備接收的邏輯位址與所述非揮發性記憶體裝置的物理位址之間的映射資訊的位址映射表;以及 處理器,其被配置成當從所述主機設備接收寫入請求時,透過改變寫入邏輯位址的位元中的特定位元的值來產生修改的寫入邏輯位址,並且將所述修改的寫入邏輯位址儲存在所述位址映射表中。
  2. 如請求項1所述的數據儲存設備,其中所述隨機存取記憶體進一步包括被配置成臨時儲存從所述主機設備傳輸的所述寫入邏輯位址和寫入數據的寫入緩衝器。
  3. 如請求項2所述的數據儲存設備,其中所述處理器將所述修改的寫入邏輯儲存在所述位址映射表中,並且同時將所述寫入邏輯位址和所述寫入數據儲存在所述寫入緩衝器中。
  4. 如請求項2所述的數據儲存設備,其中,在從所述主機設備傳輸的所述寫入數據被寫入所述非揮發性儲存裝置之後,所述處理器將儲存在所述位址映射表中的所述修改的寫入邏輯位址的所述特定位元的值恢復成原始值。
  5. 如請求項2所述的數據儲存設備,其中,當從所述主機設備接收讀取請求時,所述處理器從所述位址映射表搜尋讀取邏輯位址並且基於所搜尋的讀取邏輯位址的所述特定位元的值來確定請求讀取的數據是位於所述非揮發性記憶體裝置中還是位於所述寫入緩衝器中。
  6. 如請求項5所述的數據儲存設備,其進一步包括: 位址搜尋引擎,其被配置成透過在所述處理器的控制下掃描所述位址映射表來搜尋所述讀取邏輯位址並且將所搜尋的讀取邏輯位址提供給所述處理器。
  7. 如請求項1所述的數據儲存設備,其中所述隨機存取記憶體進一步包括映射快取表,其被配置成儲存關於包括在所述非揮發性記憶體裝置中的多個記憶體塊中的完成寫入操作的記憶體塊的位址映射資訊的片段的部分。
  8. 如請求項1所述的數據儲存設備,其中所述位址映射表包括物理塊位址至邏輯塊位址(physical block address to logical block address, P2L)表,或邏輯塊位址至物理塊位址(logical block address to physical block address, L2P)表。
  9. 一種數據儲存設備的操作方法,其包括: 確定是否從主機設備接收寫入請求;以及 當從所述主機設備接收所述寫入請求時,透過改變寫入邏輯位址的特定位元的值來產生修改的寫入邏輯位址,並且將所述修改的寫入邏輯位址儲存在位址映射表中。
  10. 如請求項9所述的方法,其進一步包括: 在將所述修改的寫入邏輯位址儲存在所述位址映射表中之後,確定來自所述主機設備的請求寫入的數據的寫入是否被完成;以及 透過改變所述修改的寫入邏輯位址的所述特定位元的值來恢復所述修改的寫入邏輯位址,並且當完成所述數據的寫入時,將所恢復的寫入邏輯位址儲存在所述位址映射表中。
  11. 如請求項9所述的操作方法,其進一步包括: 確定是否從所述主機設備接收讀取請求。
  12. 如請求項11所述的操作方法,其進一步包括: 當從所述主機設備接收所述讀取請求時,從所述位址映射表搜尋讀取邏輯位址;以及 基於所搜尋的讀取邏輯位址的特定位元的值來確定從所述主機設備請求讀取的數據的儲存位置。
  13. 一種數據儲存設備,其包括: 非揮發性記憶體裝置; 位址映射表,其被配置為儲存從主機設備接收的邏輯位址與所述非揮發性記憶體裝置的物理位址之間的映射資訊,並且當從所述主機設備接收寫入請求時,儲存修改的寫入邏輯位址; 寫入緩衝器,其被配置為當從所述主機設備接收所述寫入請求時,臨時儲存寫入邏輯位址和寫入數據;以及 處理器,其被配置為透過改變所述寫入邏輯位址的特定位元的值來產生所述修改的寫入邏輯位址。
  14. 如請求項13所述的數據儲存設備,其中所述處理器將所述修改的寫入邏輯儲存在所述位址映射表中,並且同時將所述寫入邏輯位址和所述寫入數據儲存在所述寫入緩衝器中。
  15. 如請求項13所述的數據儲存設備,其中,在從所述主機設備傳輸的所述寫入數據被寫入所述非揮發性儲存裝置之後,所述處理器將儲存在所述位址映射表中的所述修改的寫入邏輯位址的所述特定位元的值恢復成原始值。
  16. 如請求項13所述的數據儲存設備,其中,當從所述主機設備接收讀取請求時,所述處理器從所述位址映射表搜尋讀取邏輯位址並且基於所搜尋的讀取邏輯位址的所述特定位元的值來確定請求讀取的數據是位於所述非揮發性記憶體裝置中還是位於所述寫入緩衝器中。
  17. 如請求項16所述的數據儲存設備,其進一步包括: 位址搜尋引擎,其被配置成透過在所述處理器的控制下掃描所述位址映射表來搜尋所述讀取邏輯位址並且將所搜尋的讀取邏輯位址提供給所述處理器。
  18. 如請求項13所述的數據儲存設備,其進一步包括: 映射快取表,其被配置成儲存關於包括在所述非揮發性記憶體裝置中的多個記憶體塊中的完成寫入操作的記憶體塊的位址映射資訊的片段的部分。
  19. 如請求項13所述的數據儲存設備,其中所述位址映射表包括物理塊位址至邏輯塊位址(physical block address to logical block address, P2L)表,或邏輯塊位址至物理塊位址(logical block address to physical block address, L2P)表。
TW106140546A 2017-01-04 2017-11-22 數據儲存設備及其操作方法 TW201826127A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
??10-2017-0001447 2017-01-04
KR1020170001447A KR20180080589A (ko) 2017-01-04 2017-01-04 데이터 저장 장치 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
TW201826127A true TW201826127A (zh) 2018-07-16

Family

ID=62712421

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106140546A TW201826127A (zh) 2017-01-04 2017-11-22 數據儲存設備及其操作方法

Country Status (4)

Country Link
US (1) US10489290B2 (zh)
KR (1) KR20180080589A (zh)
CN (1) CN108280033B (zh)
TW (1) TW201826127A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338979A (zh) * 2018-12-19 2020-06-26 爱思开海力士有限公司 存储器控制器及其操作方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102395538B1 (ko) * 2017-04-28 2022-05-10 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US11068299B1 (en) * 2017-08-04 2021-07-20 EMC IP Holding Company LLC Managing file system metadata using persistent cache
KR102545167B1 (ko) * 2017-11-23 2023-06-19 삼성전자주식회사 키-밸류 스토리지 장치 및 상기 키-밸류 스토리지 장치의 동작 방법
KR102649657B1 (ko) * 2018-07-17 2024-03-21 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
KR102596964B1 (ko) * 2018-07-31 2023-11-03 에스케이하이닉스 주식회사 맵 캐시 버퍼 크기를 가변시킬 수 있는 데이터 저장 장치
KR20200015185A (ko) * 2018-08-03 2020-02-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20200022118A (ko) * 2018-08-22 2020-03-03 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법
US11030089B2 (en) 2018-09-28 2021-06-08 Micron Technology, Inc. Zone based reconstruction of logical to physical address translation map
KR102567108B1 (ko) * 2018-11-05 2023-08-14 삼성전자주식회사 데이터 스토리지 디바이스 및 데이터 스토리지 시스템
CN111143235A (zh) * 2018-11-06 2020-05-12 爱思开海力士有限公司 多内核存储器系统中的逻辑地址分配
KR102583787B1 (ko) * 2018-11-13 2023-10-05 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
KR20200074464A (ko) * 2018-12-17 2020-06-25 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
KR20200076528A (ko) * 2018-12-19 2020-06-29 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR20200078101A (ko) * 2018-12-21 2020-07-01 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200085967A (ko) * 2019-01-07 2020-07-16 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법
KR20200085510A (ko) * 2019-01-07 2020-07-15 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법과, 이를 위한 컨트롤러
KR20200095130A (ko) 2019-01-31 2020-08-10 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
CN110267260B (zh) * 2019-06-17 2022-03-01 Oppo广东移动通信有限公司 刷机方法、装置、终端及计算机可读存储介质
US10877900B1 (en) * 2019-06-26 2020-12-29 Western Digital Technologies, Inc. Enabling faster and regulated device initialization times
KR20210004629A (ko) 2019-07-05 2021-01-13 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR102456176B1 (ko) * 2020-05-21 2022-10-19 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11573891B2 (en) 2019-11-25 2023-02-07 SK Hynix Inc. Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device
CN111338990B (zh) * 2020-02-12 2021-01-12 合肥康芯威存储技术有限公司 一种数据存储装置及数据存储方法与存储系统
KR20210121660A (ko) * 2020-03-31 2021-10-08 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
CN113900582A (zh) * 2020-06-22 2022-01-07 慧荣科技股份有限公司 数据处理方法及对应的数据储存装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100817087B1 (ko) 2007-02-13 2008-03-27 삼성전자주식회사 플래시 메모리를 구비하는 스토리지 장치에서의 버퍼 캐시운용 방법
CN101719103B (zh) * 2009-11-25 2012-07-18 成都市华为赛门铁克科技有限公司 基于存储设备的信息处理方法以及存储设备
US8478796B2 (en) * 2010-03-23 2013-07-02 Apple Inc. Uncorrectable error handling schemes for non-volatile memories
US9075710B2 (en) * 2012-04-17 2015-07-07 SanDisk Technologies, Inc. Non-volatile key-value store
CN103064795B (zh) * 2012-12-31 2015-12-02 华为技术有限公司 一种存储设备的控制方法及相关装置
US9684568B2 (en) * 2013-12-26 2017-06-20 Silicon Motion, Inc. Data storage device and flash memory control method
US10067828B2 (en) * 2014-10-03 2018-09-04 Hitachi, Ltd. Memory controller and data control method
US10466908B2 (en) * 2015-08-25 2019-11-05 Toshiba Memory Corporation Memory system that buffers data before writing to nonvolatile memory
US10031845B2 (en) * 2016-04-01 2018-07-24 Intel Corporation Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338979A (zh) * 2018-12-19 2020-06-26 爱思开海力士有限公司 存储器控制器及其操作方法
CN111338979B (zh) * 2018-12-19 2023-05-05 爱思开海力士有限公司 存储器控制器及其操作方法

Also Published As

Publication number Publication date
US20180189172A1 (en) 2018-07-05
CN108280033B (zh) 2021-06-22
US10489290B2 (en) 2019-11-26
CN108280033A (zh) 2018-07-13
KR20180080589A (ko) 2018-07-12

Similar Documents

Publication Publication Date Title
CN108280033B (zh) 数据存储设备及其操作方法
US10891236B2 (en) Data storage device and operating method thereof
US20180130537A1 (en) Data storage device and operating method thereof
CN109992202B (zh) 数据存储设备、其操作方法以及包括其的数据处理系统
US20200218653A1 (en) Controller, data storage device, and operating method thereof
CN111124273B (zh) 数据存储装置及数据存储装置的操作方法
CN111916140B (zh) 控制器及其操作方法以及包括控制器的存储器系统
US10545689B2 (en) Data storage device and operating method thereof
KR20180097026A (ko) 불휘발성 메모리 장치, 그것을 포함하는 데이터 저장 장치 및 데이터 저장 장치의 동작 방법
US11748025B2 (en) Nonvolatile memory device, data storage device including the same and operating method thereof
KR20210006556A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
CN115794535A (zh) 事件日志管理方法、控制器和存储装置
US11429612B2 (en) Address search circuit and method of semiconductor memory apparatus and controller therefor
US11157401B2 (en) Data storage device and operating method thereof performing a block scan operation for checking for valid page counts
KR20190041082A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11194512B2 (en) Data storage device which selectively performs a cache read or a normal read operation depending on work load and operating method thereof
CN109840214B (zh) 数据存储装置及其操作方法
US9966148B1 (en) Data storage device and operating method thereof
US11144460B2 (en) Data storage device, data processing system, and operating method of data storage device
KR20190099570A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20180039340A (ko) 데이터 처리 시스템