CN104750618A - 数据储存装置以及快闪存储器控制方法 - Google Patents

数据储存装置以及快闪存储器控制方法 Download PDF

Info

Publication number
CN104750618A
CN104750618A CN201410742700.8A CN201410742700A CN104750618A CN 104750618 A CN104750618 A CN 104750618A CN 201410742700 A CN201410742700 A CN 201410742700A CN 104750618 A CN104750618 A CN 104750618A
Authority
CN
China
Prior art keywords
data
physical page
flash memory
random access
memory
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201410742700.8A
Other languages
English (en)
Other versions
CN104750618B (zh
Inventor
林建成
梁嘉旗
黄昌杰
李介豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN104750618A publication Critical patent/CN104750618A/zh
Application granted granted Critical
Publication of CN104750618B publication Critical patent/CN104750618B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • 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
    • 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/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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/12Replacement control
    • 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/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache 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/7202Allocation control and policies
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及快闪存储器型数据储存装置、与快闪存储器控制方法。快闪存储器包括多阶以及单阶存储单元。微控制器是运作来在数据写入该快闪存储器前先快取于随机存取存储器中。微控制器还是运作来配置该快闪存储器的多个物理区块供应包含多阶存储单元的一第一数据接收区块以及包含单阶存储单元的一第二数据接收区块。在微控制器控制下,自随机存取存储器上传至第一数据接收区块的各物理页数据为串行数据,至于零散数据则是快取于该随机存取存储器中、待整合成一物理页后写入该第二数据接收区块。

Description

数据储存装置以及快闪存储器控制方法
技术领域
本发明有关于快闪存储器(flash memory)实现的数据储存装置以及快闪存储器控制方法。
背景技术
现今数据储存装置常以快闪存储器(flash memory)为储存媒体。例如,快闪存储器常用作记忆卡(memory card)、通用串行总线闪存装置(USB flash device)、固态硬碟(SSD)…等产品。另外有一种应用是采多芯片封装、将一与非门型快闪存储器与其控制芯片包装在同一封装中─称为嵌入式快闪存储器模组(如eMMC)。
快闪存储器的实体空间通常包括多个物理区块(blocks)。各物理区块包括多个物理页(pages)。针对快闪存储器而设计的抹除操作须以物理区块为抹除单位,一物理区块接着一物理区块地释放储存空间。数据更新时,新版数据写入闲置空间,而非覆写在旧版数据上。因此,快闪存储器─特别是架构复杂(包括多阶以及单阶存储单元)的快闪存储器─之管理远比其他传统储存媒体复杂。
发明内容
本发明揭示快闪存储器所实现的数据储存装置以及快闪存储器控制方法,所控制的快闪存储器包括多阶存储单元(Multi-Level Cells,简称MLCs)以及单阶存储单元(Single Level Cells,简称SLCs),系将零散数据以及串行数据分开写入该快闪存储器。
根据本发明一种实施方式所实现的一数据储存装置包括一快闪存储器以及一控制单元。该快闪存储器包括多阶存储单元以及单阶存储单元,且是划分为多个物理区块,各物理区块包括多个物理页。该控制单元系耦接该快闪存储器至一主机,且包括一微控制器以及一随机存取存储器。该微控制器是运作来将该主机所下达的数据在写入该快闪存储器之前先快取于该随机存取存储器之中。该微控制器是运作来配置该快闪存储器这些物理区块供应包含多阶存储单元的一第一数据接收区块以及包括单阶存储单元的一第二数据接收区块。在该微控制器控制下,自该随机存取存储器上传至该第一数据接收区块的各物理页所各自含括的是串行数据(sequential data)。至于零散数据则是快取于该随机存取存储器组成一物理页后写入该第二数据接收区块。
根据本发明另外一种实施方式所实现的一快闪存储器控制方法包括以下步骤:为一快闪存储器供应一随机存取存储器,该快闪存储器包括多阶存储单元以及单阶存储单元,且是划分为多个物理区块,各物理区块包括多个物理页;将主机下达的数据于写入该快闪存储器前先快取于该随机存取存储器中;以及配置该快闪存储器的这些物理区块供应包括多阶存储单元的一第一数据接收区块、以及包括单阶存储单元的一第二数据接收区块。特别是,自该随机存取存储器上传至该第一数据接收区块的各物理页是各自包含串行数据。至于零散数据则是快取于该随机存取存储器中组成一物理页后写入该第二数据接收区块。
下文特举实施例,并配合附图,详细说明本发明内容。
附图说明
图1图解一快闪存储器100的储存空间规划;
图2A图解了多阶存储单元(MLCs)的存储内容分布;
图2B图解了单阶存储单元(SLCs)的存储内容分布;
图3为方块图,根据本发明一种实施方式图解一数据储存装置300;
图4为流程图,根据本发明一种实施方式图解如何将一物理页的快取数据Cached_Data自随机存取存储器322上传至快闪存储器304;以及
图5A以及图5B是基于图4图解一连串的快取数据是如何写入快闪存储器304。
符号说明
100~快闪存储器;          102~物理页;
104、106、108以及110~物理区段;
300~数据储存装置;      302~主机;
304~快闪存储器;            306~控制单元;
308~系统内程序物理区块;
310~多阶存储单元的闲置物理区块;
312~单阶存储单元的闲置物理区块;
314~数据集合;           320~微控制器;
322~随机存取存储器;    324~只读存储器;
Cached_Data~一物理页的快取数据;
HA、HB、HC以及HD~四个主机页的数据;
Hm(LBAk0~LBAk0+7)、Hm+1(LBAk1~LBAk1+7)、Hm+2(LBAk2~LBAk2+7)、Hm+3(LBAk3~LBAk3+7)
~主机页;
R_MLC、R_SLC~数据接收区块。
S402…S414~步骤。
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照权利要求书界定。
图1图解了一快闪存储器100的储存空间规划。快闪存储器100所供应的储存空间是划分为多个物理区块(blocks)BLK1、BLK2…BLKN…等。各物理区块包括多个物理页(pages)。各物理页包括多物理区段(sectors)。例如,物理区块BLKN上的物理页102包括四个物理区段104、106、108以及110。若各物理区段是配置储存一主机页的使用者数据(对应一串逻辑地址,如LBAk~LBAk+7),各物理页是配置给四个主机页使用。例如,物理区段104、106、108以及110分别对应主机页Hm(即,LBAk0~LBAk0+7)、Hm+1(即,LBAk1~LBAk1+7)、Hm+2(即,LBAk2~LBAk2+7)、Hm+3(即,LBAk3~LBAk3+7)。写入一物理页的四个主机页可为零散(random)或串行(sequential)数据。例如,倘若写入物理页102的四个主机页Hm、Hm+1、Hm+2以及Hm+3为零散数据,则逻辑地址LBAk1非接续逻辑地址LBAk0+7、或逻辑地址LBAk2非接续逻辑地址LBAk1+7、或逻辑地址LBAk3非接续逻辑地址LBAk2+7。倘若写入物理页102的四个主机页Hm、Hm+1、Hm+2以及Hm+3包含串行数据,则逻辑地址LBAk1接续逻辑地址LBAk0+7、且逻辑地址LBAk2接续逻辑地址LBAk1+7、且逻辑地址LBAk3接续逻辑地址LBAk2+7。本发明所揭示技术教示零散数据以及串行数据如何分开写入快闪存储器100。
图2A图解了多阶存储单元(MLCs)的存储内容分布。图2B图解了单阶存储单元(SLCs)的存储内容分布。参阅图2A,各多阶存储单元是储存两位元的数据。各多阶存储单元是处于四种状态’11’、’10’、’01’以及’00’之一。参阅图2B,各单阶存储单元是储存单一位元的数据。各单阶存储单元是处于两种状态’1’与’0’之一。单阶存储单元的优点系写入速度快、能量消耗低、且具有良好的存储耐久性。多阶存储单元的优点主要是高数据密度。本发明一种实施方式是常态将数据以单阶存储单元储存,以受益于其高写入速度、低功率消耗以及高存储耐久性。然而,倘若写入数据经判断确定为串行数据,则将之写入多阶存储单元而非单阶存储单元,以期提升数据密度。
图3为方块图,根据本发明一种实施方式图解一数据储存装置300。数据储存装置300是耦接主机302,以根据主机302下达的指令运作。数据储存装置300包括快闪存储器304以及控制单元306。以下讨论如何将零散数据以及串行数据分开写入快闪存储器304。
快闪存储器304的物理区块是配置作多种用途。部分物理区块308是储存系统内程序(in-system programs,简称ISPs)。部分物理区块310为包含多阶存储单元(MLCs)的闲置物理区块。部分物理区块312为包含单阶存储单元(SLCs)的闲置物理区块。两种数据写入区块R_MLC以及R_SLC分别配置自这些闲置物理区块310(多阶存储单元)以及这些闲置物理区块312(单阶存储单元),以接收写入数据,并于后续作为数据区块推入数据集合314。快闪存储器304可更包括未显示在图上的尚未作规划的物理区块。
控制单元306耦接该快闪存储器304至主机302,且包括一微控制器320、一随机存取存储器322以及一只读存储器324。只读程序码系储存于只读存储器324中。微控制器320包括执行该只读存储器324内的只读程序码或/以及该快闪存储器304的这些物理区块308内的系统内程序码,据以操作该快闪存储器304。以下段落将讨论该快闪存储器304的控制与管理。
微控制器320是运作来对快闪存储器304作以上物理区块配置(例如,配置该快闪存储器304供应上述两个数据接收区块R_MLC以及R_SLC)。微控制器320更在将主机302下达的数据写入该快闪存储器304前,先以随机存取存储器322快取收集之。如图所示,四个主机页HA、HB、HC以及HD是快取于随机存取存储器322且结合成一物理页的快取数据Cache_Data,以写入该快闪存储器的一物理页中。在微控制器320操作下,自随机存取存储器322上传至该数据接收区块R_MLC的各物理页的数据系各自包含串行数据,且零散数据系快取于该随机存取存储器322中,待组成一物理页后写入该数据接收区块R_SLC。
图4为流程图,根据本发明一种实施方式图解一个物理页的快取数据Cached_Data如何自随机存取存储器322上传至该快闪存储器304。如步骤S402以及S404所示,常态设定是将一个物理页的快取数据Cached_Data写入该数据接收区块R_SLC,以达到快速写入、低耗能、以及存储耐久…等优点。在步骤S404写入一个物理页的快取数据Cached_Data至该数据接收区块R_SLC后,步骤S406将检查已在步骤S404中自该随机存取存储器322上传至该数据接收区块R_SLC的该个物理页的数据型态。若步骤S406判定步骤S404自该随机存取存储器322上传至该数据接收区块R_SLC的该个物理页是包含串行数据,则流程进行步骤S408,自该随机存取存储器322获取另一物理页的快取数据,继而执行步骤S410,检查步骤S408自该随机存取存储器322所获取的该另一物理页的快取数据的数据型态。若步骤S410判定步骤S408自该随机存取存储器322所获取的该另一物理页的快取数据是包含零散数据,流程进行步骤S414,将步骤S408自该随机存取存储器322所获取的该另一物理页的快取数据写入该数据接收区块R_SLC。步骤S414后,流程则是再次进行步骤S402、S404以及S406。或者,若步骤S410判定步骤S408自该随机存取存储器322所获取的该另一物理页的快取数据是包含串行数据,则流程进行步骤S412,将步骤S408自该随机存取存储器322所获取的该另一物理页的快取数据写入该数据接收区块R_MLC。步骤S412后,流程则是再次进行步骤S408以及S410。
根据图4所示流程图,微控制器320是运作来在写入数据至该数据接收区块R_MLC(如,步骤S412)前先检查数据型态(如,步骤S410),以确认自该随机存取存储器322上传至该数据接收区块R_MLC的各物理页数据是各自包含串行数据。若自随机存取存储器322上传至该数据接收区块R_SLC的一物理页的快取数据(命名为Cached_DataA)是包含零散数据,微控制器322是运作来将稍晚于该物理页数据Cached_DataA快取于该随机存取存储器322中的另一物理页的数据(命名为Cached_DataB)写入该数据接收区块R_SLC,如于步骤S414后执行的步骤S404。微控制器322是还运作来检查快取数据Cached_DataB是包含串行数据、或零散数据(例如,步骤S406),以预测晚于快取数据Cached_DataB快取于该随机存取存储器322中的一物理页的快取数据(命名为Cached_DataC)的数据型态。若快取数据Cached_DataB包含零散数据,微控制器320将推测快取数据Cached_DataC亦包含零散数据,且将快取数据Cached_DataC写入数据接收区块R_SLC(例如,步骤S406后执行的步骤S404)。若快取数据Cached_DataB包含串行数据,微控制器320是运作来在将快取数据Cached_DataC写入快闪存储器304前,检查快取数据Cached_DataC的数据型态(例如,步骤S410)。若快取数据Cached_DataC确认包含串行数据,微控制器320是运作来写入该快取数据Cached_DataC至该数据接收区块R_MLC(如,步骤S412)。若快取数据Cached_DataC确认包含零散数据,微控制器320是运作来写入该快取数据Cached_DataC至该数据接收区块R_SLC(如,步骤S414)。
基于图4所示流程,图5A以及图5B说明一连串的快取数据是如何写入快闪存储器304。首先,根据步骤S402自随机存取存储器322获取包含主机页H0、H2、H60以及H50的一个物理页的快取数据Cached_Data1。该物理页的快取数据Cached_Data1是根据步骤S404写入该数据接收区块R_SLC。步骤S406则判断出该物理页的快取数据Cached_Data1是包含零散数据。因此,步骤S402再次实行,自随机存取存储器322获取包含主机页H32、H33、H34以及H35的另一个物理页的快取数据Cached_Data2。该物理页的快取数据Cached_Data2是根据步骤S404写入该数据接收区块R_SLC。步骤S406将判断出该物理页的快取数据Cached_Data2是包含串行数据,继而,步骤S408将自随机存取存储器322获取包含主机页H36、H37、H38以及H39的另一个物理页的快取数据Cached_Data3。步骤S410判断出该物理页的快取数据Cached_Data3是包含串行数据,继而,步骤S412将该物理页的快取数据Cached_Data3写入该数据接收区块R_MLC。随后,步骤S408再次执行,自随机存取存储器322获取包含主机页H35、H36、H80以及H90的另一个物理页的快取数据Cached_Data4。步骤S410将判断出该物理页的快取数据Cached_Data4是包含零散数据。因此,步骤S414接续施行,将该个物理页的快取数据Cached_Data4写入该数据接收区块R_SLC。步骤S402将随后再次执行。参阅图5B,数据接收区块R_SLC仅储存串行数据,且零散数据是必然写入该数据接收区块R_SLC。
其他采用上述概念控制一快闪存储器的技术都属于本发明所欲保护的范围。基于以上技术内容,本发明更涉及快闪存储器的控制方法,不限定以特定架构的控制单元实现。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当由权利要求书界定为准。

Claims (12)

1.一种数据储存装置,包括:
一快闪存储器,具有多阶存储单元以及单阶存储单元,其中该快闪存储器是划分为多个物理区块,且上述物理区块各自包括多个物理页;以及
一控制单元,耦接该快闪存储器至一主机,且包括一微控制器以及一随机存取存储器;
其中:
该微控制器是运作来在将该主机所下达的数据写入该快闪存储器前,先以该随机存取存储器快取之;
该微控制器还运作来配置该快闪存储器的这些物理区块供应包含多阶存储单元的一第一数据接收区块以及包含单阶存储单元的一第二数据接收区块;
其中:
自该随机存取存储器上传至该第一数据接收区块的各物理页各自包含串行数据;且
快取于该随机存取存储器中组成一物理页的零散数据是写入该第二数据接收区块。
2.如权利要求1所述的数据储存装置,其特征在于:
该微控制器是运作来在写入数据至该第一数据接收区块之前先做数据型态检查,以确保自该随机存取存储器上传至该第一数据接收区块的各物理页是各自包含串行数据。
3.如权利要求1所述的数据储存装置,其特征在于:
在判定自该随机存取存储器上传至该第二数据接收区块的一第一物理页的数据包含零散数据时,该微控制器是运作使一第二物理页的数据是写入该第二数据接收区块,该第二物理页的数据是晚于该第一物理页的数据快取于该随机存取存储器中。
4.如权利要求3所述的数据储存装置,其特征在于:
该微控制器还是运作来检查该第二物理页的数据是包含串行数据或零散数据,以推测一第三物理页的数据的数据型态,该第三物理页的数据是晚于该第二物理的数据快取于该随机存取存储器中。
5.如权利要求4所述的数据储存装置,其特征在于:
该第二物理页的数据包含零散数据时,该微控制器是运作来推测该第三物理页的数据是包含零散数据,并将该第三物理页的数据写入该第二数据接收区块。
6.如权利要求4所述的数据储存装置,其特征在于:
该第二物理页的数据包含串行数据时,该微控制器是运作来在写入该第三物理页的数据至该快闪存储器前,先检查该第三物理页的数据的数据型态;
该第三物理页的数据经确认为包含串行数据时,该微控制器是运作来写入该第三物理页的数据至该第一数据接收区块;且
该第三物理页的数据经确认为包含零散数据时,该微控制器是运作来写入该第三物理页的数据至该第二数据接收区块。
7.一种快闪存储器控制方法,包括:
为一快闪存储器供应一随机存取存储器,该快闪存储器具有多阶存储单元以及单阶存储单元,且划分为多个物理区块,且上述物理区块各自包括多个物理页;
在将一主机所下达的数据写入该快闪存储器前,先以该随机存取存储器快取之;以及
配置该快闪存储器的这些物理区块供应包含多阶存储单元的一第一数据接收区块、以及包含单阶存储单元的一第二数据接收区块;
其中:
自该随机存取存储器上传至该第一数据接收区块的各物理页是各自包含串行数据;且
快取于该随机存取存储器中以组成一物理页的零散数据是写入该第二数据接收区块。
8.如权利要求7所述的快闪存储器控制方法,其特征在于,还包括:
在写入数据至该第一数据接收区块之前先做数据型态检查,以确保自该随机存取存储器上传至该第一数据接收区块的各物理页是各自包含串行数据。
9.如权利要求7所述的快闪存储器控制方法,其特征在于:
在判定自该随机存取存储器上传至该第二数据接收区块的一第一物理页的数据是包含零散数据时,使一第二物理页的数据是写入该第二数据接收区块,该第二物理页的数据晚于该第一物理页的数据快取于该随机存取存储器中。
10.如权利要求9所述的快闪存储器控制方法,其特征在于,还包括:
检查该第二物理页的数据是包含串行数据或零散数据,以推测一第三物理页的数据的数据型态,该第三物理页的数据晚于该第二物理的数据快取于该随机存取存储器中。
11.如权利要求10所述的快闪存储器控制方法,其特征在于,还包括:
在该第二物理页的数据包含零散数据时,推测该第三物理页的数据是包含零散数据,并将该第三物理页的数据写入该第二数据接收区块。
12.如权利要求10所述的快闪存储器控制方法,其特征在于:
该第二物理页的数据包含串行数据时,该第三物理页的数据的数据型态是在写入该快闪存储器前作检查;
该第三物理页的数据经确认为包含串行数据时,该第三物理页的数据是写入该第一数据接收区块;且
该第三物理页的数据经确认为包含零散数据时,该第三物理页的数据是写入该第二数据接收区块。
CN201410742700.8A 2013-12-26 2014-12-08 数据储存装置以及快闪存储器控制方法 Active CN104750618B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361920830P 2013-12-26 2013-12-26
US61/920,830 2013-12-26
US14/534,603 2014-11-06
US14/534,603 US9645896B2 (en) 2013-12-26 2014-11-06 Data storage device and flash memory control method

Publications (2)

Publication Number Publication Date
CN104750618A true CN104750618A (zh) 2015-07-01
CN104750618B CN104750618B (zh) 2017-11-24

Family

ID=53481879

Family Applications (6)

Application Number Title Priority Date Filing Date
CN201410742700.8A Active CN104750618B (zh) 2013-12-26 2014-12-08 数据储存装置以及快闪存储器控制方法
CN201410743192.5A Active CN104750619B (zh) 2013-12-26 2014-12-08 数据储存装置以及快闪存储器控制方法
CN201410743784.7A Active CN104750625B (zh) 2013-12-26 2014-12-08 数据储存装置以及快闪存储器控制方法
CN201410821110.4A Active CN104750615B (zh) 2013-12-26 2014-12-25 数据储存装置以及快闪存储器控制方法
CN201410821785.9A Active CN104750616B (zh) 2013-12-26 2014-12-25 数据储存装置以及快闪存储器控制方法
CN201410825548.XA Active CN104750626B (zh) 2013-12-26 2014-12-25 数据储存装置以及快闪存储器控制方法

Family Applications After (5)

Application Number Title Priority Date Filing Date
CN201410743192.5A Active CN104750619B (zh) 2013-12-26 2014-12-08 数据储存装置以及快闪存储器控制方法
CN201410743784.7A Active CN104750625B (zh) 2013-12-26 2014-12-08 数据储存装置以及快闪存储器控制方法
CN201410821110.4A Active CN104750615B (zh) 2013-12-26 2014-12-25 数据储存装置以及快闪存储器控制方法
CN201410821785.9A Active CN104750616B (zh) 2013-12-26 2014-12-25 数据储存装置以及快闪存储器控制方法
CN201410825548.XA Active CN104750626B (zh) 2013-12-26 2014-12-25 数据储存装置以及快闪存储器控制方法

Country Status (3)

Country Link
US (8) US9684568B2 (zh)
CN (6) CN104750618B (zh)
TW (6) TWI561982B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109254926A (zh) * 2017-07-13 2019-01-22 慧荣科技股份有限公司 数据储存装置及非挥发式存储器操作方法

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9811275B2 (en) * 2015-02-27 2017-11-07 Toshiba Memory Corporation Memory system and data control method
US10007451B2 (en) * 2015-03-20 2018-06-26 SK Hynix Inc. Scalable SPOR algorithm for flash memories
US9703498B1 (en) * 2015-06-29 2017-07-11 EMC IP Holding Company LLC Allocating space in a file system from sequential and random cursors
TWI563510B (en) * 2015-07-24 2016-12-21 Phison Electronics Corp Mapping table accessing method, memory control circuit unit and memory storage device
TWI575374B (zh) * 2015-08-04 2017-03-21 群聯電子股份有限公司 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元
TWI534619B (zh) * 2015-09-11 2016-05-21 慧榮科技股份有限公司 動態邏輯分段方法以及使用該方法的裝置
TWI646461B (zh) * 2016-10-12 2019-01-01 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
TWI537729B (zh) 2015-10-15 2016-06-11 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
US10073769B2 (en) 2015-10-15 2018-09-11 Silicon Motion, Inc. Data storage device and data maintenance method thereof
TWI604308B (zh) 2015-11-18 2017-11-01 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
KR102625637B1 (ko) * 2016-02-01 2024-01-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN105868122A (zh) * 2016-03-28 2016-08-17 深圳市硅格半导体股份有限公司 快闪存储设备的数据处理方法及装置
TWI603193B (zh) * 2016-03-31 2017-10-21 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
CN111679787B (zh) 2016-04-27 2023-07-18 慧荣科技股份有限公司 闪存装置、闪存控制器及闪存存储管理方法
US9910772B2 (en) * 2016-04-27 2018-03-06 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
US10133664B2 (en) 2016-04-27 2018-11-20 Silicon Motion Inc. Method, flash memory controller, memory device for accessing 3D flash memory having multiple memory chips
US10289487B2 (en) 2016-04-27 2019-05-14 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device
CN107391026B (zh) 2016-04-27 2020-06-02 慧荣科技股份有限公司 闪存装置及闪存存储管理方法
US10019314B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
TW201742063A (zh) 2016-05-30 2017-12-01 慧榮科技股份有限公司 資料儲存方法及發生電源中斷事件後之系統初始化之方法
CN106201903B (zh) * 2016-07-05 2019-07-30 深圳市领存技术有限公司 一种三维闪存擦除控制方法及其系统
KR20180019419A (ko) 2016-08-16 2018-02-26 삼성전자주식회사 메모리 컨트롤러, 메모리 시스템 및 그 동작방법
KR20180031851A (ko) * 2016-09-19 2018-03-29 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
TWI640868B (zh) * 2016-10-07 2018-11-11 慧榮科技股份有限公司 資料儲存裝置及其資料寫入方法
TWI607312B (zh) * 2016-10-07 2017-12-01 慧榮科技股份有限公司 資料儲存裝置及其資料寫入方法
TWI619018B (zh) * 2016-11-10 2018-03-21 慧榮科技股份有限公司 可用於資料儲存裝置之垃圾蒐集方法
TWI591533B (zh) 2016-11-25 2017-07-11 慧榮科技股份有限公司 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
TWI670640B (zh) * 2016-11-25 2019-09-01 慧榮科技股份有限公司 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
TWI691839B (zh) * 2016-11-28 2020-04-21 慧榮科技股份有限公司 資料管理方法
KR20180080589A (ko) * 2017-01-04 2018-07-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
TWI659307B (zh) * 2017-01-06 2019-05-11 慧榮科技股份有限公司 資料儲存裝置以及快閃記憶體控制方法
TWI653533B (zh) * 2017-03-07 2019-03-11 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
TWI602116B (zh) 2017-03-07 2017-10-11 Silicon Motion Inc 資料儲存裝置及其資料維護方法
TWI644250B (zh) * 2017-03-07 2018-12-11 慧榮科技股份有限公司 電子系統及其資料維護方法
CN108733575B (zh) * 2017-04-20 2022-12-27 深圳市得一微电子有限责任公司 一种断电重启后逻辑对物理映像表的重建方法、固态硬盘
TWI639917B (zh) 2017-04-25 2018-11-01 慧榮科技股份有限公司 資料儲存裝置及映射表重建方法
US10141050B1 (en) * 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory
TWI633437B (zh) 2017-05-26 2018-08-21 慧榮科技股份有限公司 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法
CN108959108B (zh) 2017-05-26 2021-08-24 上海宝存信息科技有限公司 固态硬盘访问方法以及使用该方法的装置
KR102233400B1 (ko) * 2017-05-29 2021-03-26 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
TWI672590B (zh) * 2017-06-27 2019-09-21 慧榮科技股份有限公司 資料儲存裝置
CN107391046B (zh) * 2017-08-02 2021-04-20 郑州云海信息技术有限公司 一种raid系统的数据写入方法及装置
CN109582599B (zh) * 2017-09-29 2023-12-22 上海宝存信息科技有限公司 数据储存装置以及非挥发式存储器操作方法
CN108132853A (zh) * 2017-11-24 2018-06-08 北京动力机械研究所 用于发动机控制器软件的上电校验双冗余引导加载方法
TWI733964B (zh) * 2017-12-13 2021-07-21 英業達股份有限公司 記憶體整體測試之系統及其方法
CN107967125A (zh) * 2017-12-20 2018-04-27 北京京存技术有限公司 闪存转换层的管理方法、装置及计算机可读存储介质
TWI649755B (zh) * 2017-12-22 2019-02-01 慧榮科技股份有限公司 資料儲存裝置與記憶體裝置之資料處理方法
TWI668700B (zh) * 2017-12-22 2019-08-11 慧榮科技股份有限公司 資料儲存裝置與記憶體裝置之資料處理方法
TWI645404B (zh) * 2017-12-28 2018-12-21 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體操作方法
TWI670594B (zh) * 2018-01-18 2019-09-01 慧榮科技股份有限公司 資料儲存裝置
CN108255436A (zh) * 2018-01-25 2018-07-06 广东美的制冷设备有限公司 数据存取方法、存取装置、家电设备和可读存储介质
TWI664527B (zh) 2018-03-20 2019-07-01 慧榮科技股份有限公司 用來於一記憶裝置中進行初始化之方法、記憶裝置及其控制器以及電子裝置
TWI679538B (zh) * 2018-03-31 2019-12-11 慧榮科技股份有限公司 資料儲存系統之控制單元以及邏輯至物理映射表更新方法
JP2019185350A (ja) * 2018-04-09 2019-10-24 東芝メモリ株式会社 メモリシステム及びメモリシステムの制御方法
TWI669610B (zh) * 2018-06-13 2019-08-21 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
TWI678622B (zh) * 2018-06-15 2019-12-01 慧榮科技股份有限公司 資料儲存裝置的開發系統以及產品化方法
US10534551B1 (en) * 2018-06-22 2020-01-14 Micron Technology, Inc. Managing write operations during a power loss
CN110955384B (zh) * 2018-09-26 2023-04-18 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
CN109446109B (zh) * 2018-10-25 2021-06-29 江苏华存电子科技有限公司 一种混合型记录实体映像表的方法
CN113168377B (zh) * 2018-10-29 2024-04-23 美光科技公司 Slc高速缓存分配
CN109582222B (zh) * 2018-10-31 2020-11-24 华中科技大学 一种主机感知瓦记录磁盘中持久缓存的清理方法
TW202018513A (zh) * 2018-11-07 2020-05-16 威剛科技股份有限公司 固態硬碟及其資料存取的方法
KR20200058867A (ko) * 2018-11-20 2020-05-28 에스케이하이닉스 주식회사 메모리 시스템의 복구 동작 중 비휘발성 메모리 블록의 반복 접근을 줄이는 방법 및 장치
TWI704456B (zh) * 2018-11-22 2020-09-11 慧榮科技股份有限公司 資料儲存裝置與資料存取方法
KR102637478B1 (ko) 2018-12-05 2024-02-15 삼성전자주식회사 오픈 채널 솔리드 스테이트 드라이브, 이를 포함하는 비휘발성 메모리 시스템 및 오픈 채널 솔리드 스테이트 드라이브의 파워 로스 프로텍션 방법
TWI749279B (zh) * 2018-12-18 2021-12-11 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
TWI739075B (zh) * 2019-01-03 2021-09-11 慧榮科技股份有限公司 閃存的資料寫入方法及電腦程式產品
US11288185B2 (en) 2019-01-03 2022-03-29 Silicon Motion, Inc. Method and computer program product for performing data writes into a flash memory
TWI709854B (zh) * 2019-01-21 2020-11-11 慧榮科技股份有限公司 資料儲存裝置及用於存取邏輯至物理位址映射表之方法
JP6708762B1 (ja) * 2019-01-29 2020-06-10 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
CN111610929B (zh) * 2019-02-26 2023-04-14 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
TWI710905B (zh) * 2019-05-06 2020-11-21 慧榮科技股份有限公司 資料儲存裝置及邏輯至物理位址映射表之載入方法
TWI695264B (zh) * 2019-05-20 2020-06-01 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
TWI745695B (zh) * 2019-05-22 2021-11-11 慧榮科技股份有限公司 用來進行無預警斷電復原管理之方法、記憶裝置及其控制器以及電子裝置
CN112100087B (zh) * 2019-06-17 2024-04-02 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
TWI726524B (zh) * 2019-12-09 2021-05-01 新唐科技股份有限公司 電子處理裝置及記憶體控制方法
TWI738308B (zh) * 2020-04-27 2021-09-01 宇瞻科技股份有限公司 基於分頁模式備份資料的固態硬碟以及基於分頁模式的固態硬碟資料備份方法
CN112506814B (zh) * 2020-11-17 2024-03-22 合肥康芯威存储技术有限公司 一种存储器及其控制方法与存储系统
CN112559386B (zh) * 2020-12-22 2024-06-18 深圳忆联信息系统有限公司 提升ssd性能的方法、装置、计算机设备及存储介质
CN112668642A (zh) * 2020-12-28 2021-04-16 高新兴智联科技有限公司 一种机动车电子标识与视频结合系统及方法
KR20220142192A (ko) * 2021-04-14 2022-10-21 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN113535092B (zh) * 2021-07-20 2024-05-17 阿里巴巴创新公司 用于减少内存元数据的存储引擎、方法和可读介质
US11615020B2 (en) * 2021-08-12 2023-03-28 Micron Technology, Inc. Implementing mapping data structures to minimize sequentially written data accesses
CN114356246B (zh) * 2022-03-17 2022-05-13 北京得瑞领新科技有限公司 Ssd内部数据的存储管理方法、装置、存储介质及ssd设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104309A1 (en) * 2006-10-30 2008-05-01 Cheon Won-Moon Flash memory device with multi-level cells and method of writing data therein
CN101667157A (zh) * 2008-09-04 2010-03-10 群联电子股份有限公司 闪存数据传输方法、闪存储存系统及控制器
US20100169551A1 (en) * 2008-12-27 2010-07-01 Kabushiki Kaisha Toshiba Memory system and method of controlling memory system
CN102682848A (zh) * 2011-03-16 2012-09-19 三星电子株式会社 存储器装置、存储器卡、固态驱动器、系统及其操作方法

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8078794B2 (en) 2000-01-06 2011-12-13 Super Talent Electronics, Inc. Hybrid SSD using a combination of SLC and MLC flash memory arrays
US7886108B2 (en) 2000-01-06 2011-02-08 Super Talent Electronics, Inc. Methods and systems of managing memory addresses in a large capacity multi-level cell (MLC) based flash memory device
US8266367B2 (en) 2003-12-02 2012-09-11 Super Talent Electronics, Inc. Multi-level striping and truncation channel-equalization for flash-memory system
US6970890B1 (en) 2000-12-20 2005-11-29 Bitmicro Networks, Inc. Method and apparatus for data recovery
US6895490B1 (en) 2001-04-09 2005-05-17 Matrix Semiconductor, Inc. Method for making a write-once memory device read compatible with a write-many file system
US7085879B2 (en) * 2002-02-27 2006-08-01 Microsoft Corporation Dynamic data structures for tracking data stored in a flash memory device
CN100590737C (zh) 2003-01-26 2010-02-17 深圳市朗科科技股份有限公司 闪存介质中的数据管理方法
JP2006519444A (ja) 2003-03-04 2006-08-24 深▲せん▼市朗科科技有限公司 フラッシュメモリーのデータ管理方法
TW594477B (en) * 2003-05-02 2004-06-21 Genesys Logic Inc Method and related device for accessing non-volatile memory of dual platforms for PC and X-BOX
US6988175B2 (en) 2003-06-30 2006-01-17 M-Systems Flash Disk Pioneers Ltd. Flash memory management method that is resistant to data corruption by power loss
US7509474B2 (en) 2005-06-08 2009-03-24 Micron Technology, Inc. Robust index storage for non-volatile memory
KR101257848B1 (ko) 2005-07-13 2013-04-24 삼성전자주식회사 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법
US20070156998A1 (en) * 2005-12-21 2007-07-05 Gorobets Sergey A Methods for memory allocation in non-volatile memories with a directly mapped file storage system
WO2007072313A2 (en) * 2005-12-22 2007-06-28 Nxp B.V. Memory with block-erasable locations and a linked chain of pointers to locate blocks with pointer information
US7711923B2 (en) * 2006-06-23 2010-05-04 Microsoft Corporation Persistent flash memory mapping table
CN100583293C (zh) 2006-08-09 2010-01-20 安国国际科技股份有限公司 存储装置及其读写方法
KR100833188B1 (ko) 2006-11-03 2008-05-28 삼성전자주식회사 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에데이터를 저장하는 불휘발성 메모리 시스템
WO2008070191A2 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a reconfigurable baseboard management controller
US8775717B2 (en) 2007-12-27 2014-07-08 Sandisk Enterprise Ip Llc Storage controller for flash memory including a crossbar switch connecting a plurality of processors with a plurality of internal memories
CN101632068B (zh) 2007-12-28 2015-01-14 株式会社东芝 半导体存储装置
KR101067457B1 (ko) * 2008-03-01 2011-09-27 가부시끼가이샤 도시바 메모리 시스템
TWI472916B (zh) * 2008-06-02 2015-02-11 A Data Technology Co Ltd 記憶體儲存空間管理方法
US8843691B2 (en) 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
US8321652B2 (en) * 2008-08-01 2012-11-27 Infineon Technologies Ag Process and method for logical-to-physical address mapping using a volatile memory device in solid state disks
TWI467369B (zh) 2008-10-01 2015-01-01 A Data Technology Co Ltd 混合密度記憶體系統及其控制方法
US8412880B2 (en) 2009-01-08 2013-04-02 Micron Technology, Inc. Memory system controller to manage wear leveling across a plurality of storage nodes
US8832353B2 (en) * 2009-04-07 2014-09-09 Sandisk Technologies Inc. Host stop-transmission handling
US20100306451A1 (en) * 2009-06-01 2010-12-02 Joshua Johnson Architecture for nand flash constraint enforcement
US8688894B2 (en) 2009-09-03 2014-04-01 Pioneer Chip Technology Ltd. Page based management of flash storage
TWI407310B (zh) 2009-10-09 2013-09-01 Silicon Motion Inc 資料儲存裝置及資料存取方法
US8291194B2 (en) 2009-11-16 2012-10-16 Mediatek Inc. Methods of utilizing address mapping table to manage data access of storage medium without physically accessing storage medium and related storage controllers thereof
US9104546B2 (en) 2010-05-24 2015-08-11 Silicon Motion Inc. Method for performing block management using dynamic threshold, and associated memory device and controller thereof
KR101662827B1 (ko) 2010-07-02 2016-10-06 삼성전자주식회사 쓰기 패턴에 따라 데이터 블록의 쓰기 모드를 선택하는 메모리 시스템 및 그것의 데이터 쓰기 방법
KR101811297B1 (ko) 2011-03-15 2017-12-27 삼성전자주식회사 불휘발성 메모리를 제어하는 메모리 컨트롤러
US20120297121A1 (en) 2011-05-17 2012-11-22 Sergey Anatolievich Gorobets Non-Volatile Memory and Method with Small Logical Groups Distributed Among Active SLC and MLC Memory Partitions
EP2710475A1 (en) 2011-05-17 2014-03-26 SanDisk Technologies Inc. Non-volatile memory and method with small logical groups distributed among active slc and mlc memory partitions
CN103106143B (zh) * 2011-11-11 2016-01-13 光宝科技股份有限公司 固态储存装置及其逻辑至实体对应表建立方法
CN102591748A (zh) 2011-12-29 2012-07-18 记忆科技(深圳)有限公司 固态硬盘及其掉电保护方法、系统
US9244833B2 (en) 2012-05-30 2016-01-26 Silicon Motion, Inc. Data-storage device and flash memory control method
TWI544334B (zh) 2012-05-30 2016-08-01 慧榮科技股份有限公司 資料儲存裝置與資料儲存裝置操作方法
TWI477966B (zh) 2012-05-31 2015-03-21 Silicon Motion Inc 資料儲存裝置與快閃記憶體操作方法
US20130326169A1 (en) 2012-05-31 2013-12-05 Amir Shaharabany Method and Storage Device for Detection of Streaming Data Based on Logged Read/Write Transactions
US8910017B2 (en) 2012-07-02 2014-12-09 Sandisk Technologies Inc. Flash memory with random partition
US9146857B2 (en) * 2012-08-18 2015-09-29 Storart Technology Co. Ltd. Method for mapping management
US9268682B2 (en) * 2012-10-05 2016-02-23 Skyera, Llc Methods, devices and systems for physical-to-logical mapping in solid state drives
US9098400B2 (en) * 2012-10-31 2015-08-04 International Business Machines Corporation Dynamic tuning of internal parameters for solid-state disk based on workload access patterns
US8954694B2 (en) 2012-11-15 2015-02-10 Western Digital Technologies, Inc. Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive
CN103150125B (zh) 2013-02-20 2015-06-17 郑州信大捷安信息技术股份有限公司 提高掉电保护数据缓冲存储器使用寿命的方法及智能卡
US8990458B2 (en) 2013-02-28 2015-03-24 Kabushiki Kaisha Toshiba Controller, semiconductor storage device and method of controlling data writing
US20150127687A1 (en) * 2013-11-04 2015-05-07 Roger Graves System and methods for creating and modifying a hierarchial data structure
US20150261444A1 (en) 2014-03-12 2015-09-17 Kabushiki Kaisha Toshiba Memory system and information processing device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104309A1 (en) * 2006-10-30 2008-05-01 Cheon Won-Moon Flash memory device with multi-level cells and method of writing data therein
CN101667157A (zh) * 2008-09-04 2010-03-10 群联电子股份有限公司 闪存数据传输方法、闪存储存系统及控制器
US20100169551A1 (en) * 2008-12-27 2010-07-01 Kabushiki Kaisha Toshiba Memory system and method of controlling memory system
CN102682848A (zh) * 2011-03-16 2012-09-19 三星电子株式会社 存储器装置、存储器卡、固态驱动器、系统及其操作方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109254926A (zh) * 2017-07-13 2019-01-22 慧荣科技股份有限公司 数据储存装置及非挥发式存储器操作方法
CN109254926B (zh) * 2017-07-13 2022-11-11 慧荣科技股份有限公司 数据储存装置及非挥发式存储器操作方法

Also Published As

Publication number Publication date
TW201527974A (zh) 2015-07-16
TWI570737B (zh) 2017-02-11
US9542278B2 (en) 2017-01-10
TW201525691A (zh) 2015-07-01
CN104750626B (zh) 2018-01-12
TWI611293B (zh) 2018-01-11
CN104750619B (zh) 2018-05-11
TW201528281A (zh) 2015-07-16
US20150186264A1 (en) 2015-07-02
TWI516935B (zh) 2016-01-11
US9727271B2 (en) 2017-08-08
CN104750615A (zh) 2015-07-01
US20150186263A1 (en) 2015-07-02
TWI575373B (zh) 2017-03-21
CN104750615B (zh) 2017-12-12
US20150186225A1 (en) 2015-07-02
CN104750619A (zh) 2015-07-01
CN104750616A (zh) 2015-07-01
CN104750616B (zh) 2019-08-06
CN104750626A (zh) 2015-07-01
US20170160942A1 (en) 2017-06-08
TW201526003A (zh) 2015-07-01
TWI520139B (zh) 2016-02-01
TWI561982B (en) 2016-12-11
US9684568B2 (en) 2017-06-20
TW201527971A (zh) 2015-07-16
US20150186262A1 (en) 2015-07-02
TW201527970A (zh) 2015-07-16
US20150186261A1 (en) 2015-07-02
US20150186224A1 (en) 2015-07-02
US9645894B2 (en) 2017-05-09
CN104750625A (zh) 2015-07-01
US9645896B2 (en) 2017-05-09
CN104750625B (zh) 2017-10-03
US9632880B2 (en) 2017-04-25
US9645895B2 (en) 2017-05-09
US20170249219A1 (en) 2017-08-31
CN104750618B (zh) 2017-11-24
US9842030B2 (en) 2017-12-12

Similar Documents

Publication Publication Date Title
CN104750618A (zh) 数据储存装置以及快闪存储器控制方法
US10204042B2 (en) Memory system having persistent garbage collection
JP5213965B2 (ja) 1セル当り単一ビットnandフラッシュメモリをエミュレートする1セル当り多ビットnandフラッシュメモリ用コントローラ
CN107844431A (zh) 映射表更新方法、存储器控制电路单元与存储器存储装置
TW201621912A (zh) 用於組態和控制非揮發性快取記憶體的系統及方法
CN104360958A (zh) 基于块保留区替换的坏块管理系统及管理方法
US11194737B2 (en) Storage device, controller and method for operating the controller for pattern determination
US20100030948A1 (en) Solid state storage system with data attribute wear leveling and method of controlling the solid state storage system
CN106681652B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN104461397A (zh) 一种固态硬盘及其读写方法
CN109871333A (zh) 存取闪存模块的方法及相关的闪存控制器与电子装置
CN104268095A (zh) 一种存储器及基于该存储器进行数据读/写操作的方法
CN104715796A (zh) 多位存储单元非易失性存储器的写入方法及系统
KR101403922B1 (ko) 접근 빈도에 따라 데이터를 할당하는 저장장치 및 저장방법
CN102708058A (zh) 执行ftl功能的非易失性存储装置及其控制方法
CN106802867A (zh) 固态储存装置及其数据编程方法
CN112130749B (zh) 数据储存装置以及非挥发式存储器控制方法
CN111538680A (zh) 基于逻辑饱和度选择用于垃圾收集的大容量存储装置流
CN105988939A (zh) 数据储存装置以及快闪存储器控制方法
CN103544118B (zh) 存储器储存装置、其存储器控制器与数据写入方法
CN107817943A (zh) 数据传输方法、存储器存储装置及存储器控制电路单元
CN113946283A (zh) 存储器装置的分区命名空间中的部分区存储器单元处置
Feng et al. Mapping granularity adaptive ftl based on flash page re-programming
CN103456354B (zh) 一种非易失性存储器差分存储格的方法和装置
WO2014185038A1 (ja) 半導体記憶装置およびその制御方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant