[go: up one dir, main page]

CN105824575A - 具有编程状态的存储器系统与存储器控制方法 - Google Patents

具有编程状态的存储器系统与存储器控制方法 Download PDF

Info

Publication number
CN105824575A
CN105824575A CN201610027762.XA CN201610027762A CN105824575A CN 105824575 A CN105824575 A CN 105824575A CN 201610027762 A CN201610027762 A CN 201610027762A CN 105824575 A CN105824575 A CN 105824575A
Authority
CN
China
Prior art keywords
memory
data
programming
programmed
programming state
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
CN201610027762.XA
Other languages
English (en)
Other versions
CN105824575B (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 CN105824575A publication Critical patent/CN105824575A/zh
Application granted granted Critical
Publication of CN105824575B publication Critical patent/CN105824575B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/7207Details relating to flash memory management management of metadata or control data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/7208Multiple device management, e.g. distributing data over multiple flash devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells

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

Abstract

本发明提出一种具有一编程状态的存储器系统,包括至少一第一存储器、至少一第二存储器以及一控制器。至少一第一存储器的每一者具有多个存储区域以储存数据。至少一第二存储器的每一者具有多个存储区域,用以编程来自该至少一第一存储器的该数据。控制器耦接该第二存储器,用以纪录该数据的一编程状态。当该至少一第一存储器或该至少一第二存储器即将被使用时,借由探询该编程状态检查该编程是否成功,并且该至少一第一存储器储存该数据直到该编程被检查为成功。

Description

具有编程状态的存储器系统与存储器控制方法
技术领域
本发明是关于一种包括编程状态的存储器系统与存储器控制方法,特别是关于使用编程状态来检查存储器系统的编程结果。
背景技术
存储器装置与存储器系统广泛使用于各种电子装置之中。就数据的编程而言,将数据编程到存储器装置时,通常需要尽快检查其编程的结果。然而,检查编程结果需要很长的检查时间。尤其在检查期间执行编程结果的检查时,可能会占用电子装置的控制器或固件(firmware)。然后,固件或控制器的功能会被停止或延迟,直到完成编程结果的检查。因此,会浪费太多时间,并且会导致电子装置的效能突然劣化。
因此,需要一种高效率且动态调整的存储器控制方法,并且借由使用编程状态来防止电子装置的效能突然劣化。
发明内容
本发明的一实施例提供了一种具有一编程状态的存储器系统,包括至少一第一存储器、至少一第二存储器以及一控制器。至少一第一存储器的每一者具有多个存储区域以储存数据。至少一第二存储器的每一者具有多个存储区域,用以编程来自该至少一第一存储器的该数据。控制器耦接该第二存储器,用以纪录该数据的一编程状态。当该至少一第一存储器或该至少一第二存储器即将被使用时,借由探询该编程状态检查该编程是否成功,并且该至少一第一存储器储存该数据直到该编程被检查为成功。
本发明的一实施例提供了一种具有一编程状态的存储器控制方法,包括纪录自至少一第一存储器编程至至少一第二存储器的数据的一编程状态;当该至少一第一存储器或该至少一第二存储器即将被使用时,借由探询该编程状态检查该编程是否成功;以及储存数据于该至少一第一存储器直到该编程被检查为成功。
附图说明
为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明,其中:
图1是显示根据本发明一实施例所述的存储器系统的示意图;
图2A与2B是显示根据本发明一实施例所述的存储器系统的编程的示意图;
图3A是显示前案所述的顺序写入的编程的示意图;
图3B是显示根据本发明一实施例所述的顺序写入的编程的示意图;
图4A是显示前案所述的随机写入的编程的示意图;
图4B是显示根据本发明一实施例所述的随机写入的编程的示意图;
图5是显示根据本发明一实施例所述的存储器控制方法的示意图。
图中元件标号说明如下:
10~存储器系统;
100-10N~第一存储器;
100A-10NA、100B-10NB、300A-30NA、300B-30NB~存储区域;
200~控制器;
300-30N~第二存储器;
具体实施方式
为让本发明的目的、特征和优点能更明显易懂,下文特举出本发明的具体实施例,并配合所附图式,作详细说明如下。目的在于说明本发明的精神而非用以限定本发明的保护范围,应理解下列实施例可经由软件、硬件、固件、或上述任意组合来实现。
图1是显示根据本发明一实施例所述的存储器系统10的示意图。存储器系统10包括至少一第一存储器100~10N、一控制器120、以及至少一第二存储器300~30N。举例而言,第一存储器100~10N为随机存取存储器(RAM),第二存储器300~30N为与非门(NAND)存储器。如图1所示,第一存储器100~10N的每一者皆具有多个存储区域以储存数据,而每一个存储区域可包括多个区块。举例而言,第一存储器100包括存储区域100A与100B来储存数据,并且第一存储器10N包括存储区域10NA与10NB来储存数据。此外,该至少一第二存储器300~30N的每一者包括多个存储区域,对来自第一存储器100~10N的数据进行编程,并且每一个存储区域包括多个区块。举例而言,第二存储器300包括存储区域300A与300B以编程数据,第二存储器30N包括存储区域30NA与30NB以编程数据。在另一实施例中,第二存储器300~30N可以是存储器装置的不同晶元(die)。进一步而言,控制器200包括存储器系统10的固件。在另一实施例中,控制器200可包括一微控制器以及唯读存储器(ROM)储存固件码。微控制器可执行固件码以存取或操作第二存储器300~30N。详细而言,控制器200读取或写入第二存储器300~30N。要注意的是,在一些实施例中,控制器200更记录、探询及/或更新第二存储器300~30N的编程状态。
如图1所示,控制器200耦接第二存储器300~30N,用以纪录数据的编程状态。详细而言,数据是储存于第一存储器100~10N,并且被编程到第二存储器300~30N。要注意的是,当至少一第一存储器100~10N或至少一第二存储器300~30N将要被使用时,才会探询编程状态以检查编程是否成功。换言之,并非在数据编程到存储器装置的时候就立即检查编程结果。在即将使用或存取第一存储器100~10N或第二存储器300~30N之前才检查编程的结果。因此,能够防止一旦编程数据就立即检查编程结果所导致的冗长检查时间,因而得到较佳的效能。此外,该至少一第一存储器100~10N储存数据直到检查编程结果为成功。因此,当编程失败时,储存于第一存储器100~10N的数据能够成为复原或支援编程的来源。举例而言,储存于第一存储器100~10N的数据能够再次被编程到第二存储器300~30N。
在一实施例中,控制器200所记录的编程状态包括关于数据的信息、关于第一存储器100~10N及数据被编程自存储区域的信息、关于第二存储器300~30N及数据被编程至存储区域的信息。再者,编程状态更包括数据编程目的地的至少一第二存储器300~30N的区块的信息。再者,当使用至少一第一存储器100~10N或至少一第二存储器300~30N时、或探询编程状态时,编程状态会被更新。一旦数据从第一存储器100~10N被编程到第二存储器300~30N,控制器200就会记录编程状态。但是,直到使用至少一第一存储器100~10N或至少一第二存储器300~30N时,控制器200才会以编程状态检查编程的结果。因为在此阶段,控制器200纪录关于编程的基本信息而没有进行检查或检测,纪录编程状态只需要很短的时间,可避免存储器系统10被牺牲其效能。
图2A与2B是显示根据本发明一实施例所述的存储器系统10的编程的示意图。一方面,如图2A所示,数据DataW与MetaW储存于第一存储器100的存储区域100A与100B,数据DataX与MetaX储存于第一存储器101的存储区域101A与101B,数据DataY与MetaY储存于第一存储器102的存储区域102A与102B,数据DataZ与MetaZ储存于第一存储器103的存储区域103A与103B。另一方面,第一存储器104、105、106与10N则没有储存数据。然后,数据DataW、DataY与DataZ分别被编程到第二存储器300、301、302与30N的存储区域300A、301A、302A与30NA。在此同时,第二存储器300、301、302与30N的存储区域300B、301B、302B与30NB仍然是空的,没有被编程任何数据。详细而言,存储区域300A、301A、302A与30NA为缓冲存储器(buffermemory),存储区域300B、301B、302B与30NB为快取存储器(cachememory)。要注意的是,数据DataW、DataY与DataZ分别被编程到第二存储器300、301、302与30N,并且数据DataW、DataY与DataZ仍然储存于第一存储器100、101、102与103直到编程被检查为成功。
然后,如图2B所示,数据DataA储存于存储器区域104A并且被编程至第二存储器300的存储区域300A,数据DataB储存于存储器区域105A并且被编程至第二存储器301的存储区域301A,数据DataC储存于存储器区域106A并且被编程至第二存储器302的存储区域302A,数据DataD储存于存储器区域10NA并且被编程至第二存储器30N的存储区域30NA。此外,数据DataW、DataY与DataZ从存储区域300A、301A、302A与30NA分别被移转至存储区域300B、301B、302B与30NB。
存储系统10的编程状态的详细内容如表格1所示:
表格1
表格1所示的编程状态是对应图2A与图2B的实施例。依据表格1的编程状态,第二存储器300的存储区域300A(缓冲存储器)与300B(快取存储器)储存了编程自第一存储器104与100的数据DataA与DataW。第二存储器301的存储区域301A(缓冲存储器)与301B(快取存储器)储存了编程自第一存储器105与101的数据DataB与DataX。第二存储器302的存储区域302A(缓冲存储器)与302B(快取存储器)储存了编程自第一存储器106与102的数据DataC与DataY。第二存储器30N的存储区域30NA(缓冲存储器)与30NB(快取存储器)储存了编程自第一存储器10N与103的数据DataD与DataZ。
在一实施例中,当另一个数据即将被写入数据编程来源的至少一第一存储器100~10N,探询编程状态以检查数据的编程是否成功,并且另一个数据不同于该数据。举例而言,另一个数据DataT不同于数据DataW,即将被写入第一存储器100。控制器200探询编程状态以检查数据的编程是否成功。如果数据的编程是成功的,将另一个数据DataT写入至第一存储器100,其中数据DataW之前被编程自第一存储器100。如果数据的编程是不成功的,另一个数据DataT将不会被写入至第一存储器100,并且第一存储器100继续储存数据DataW直到数据DataW的编程是成功的。要注意的是,一旦探询就会更新编程状态。
存储系统10的编程状态的更新内容如表格2所示:
表格2
举例而言,由于数据DataW编程到存储区域300B(快取存储器)是成功的,表格2显示了更新后的编程状态。当第一存储器100或第二存储器300的存储区域300B即将被存取或使用时,控制器200就不需要发出指令去检查第一存储器100或第二存储器300的状态。因此,借由即时且动态更新编程状态,能够提升存储器系统10的效率。在记录与检察编程状态后,有多种方法能够依据第二存储器300~30N的规格与演算法来处理编程状态。在一实施例中,当数据被编程至快取存储器时,探询快取存储器的编程状态(例如第二存储器300的存储区域300B)。当数据被编程到缓冲存储器时,探询缓冲存储器的编程状态(例如第二存储器300的存储区域300A)。在图2A与图2B所示的另一实施例中,数据DataW被编程到第二存储器300,然后数据DataA被编程到第二存储器300。当后面的数据DataA被编程到与先前数据DataW相同的第二存储器300与相同的区块时,只需要探询快取存储器的编程状态。当后面的数据并未被编程到与先前数据相同的第二存储器与相同的区块时,需要探询快取存储器与缓冲存储器两者的编程状态。详细而言,探询快取存储器与缓冲存储器两者比起只探询快取存储器需要花费更多的存取时间。本发明的存储器控制方法提供了一种可动态调整的探寻方法以处理编程状态,降低存取时间以及提升效率。在另一实施例中,当另一个数据即将被写入未曾使用的第一存储器时,将不会检查编程状态以节省时间。
在一实施例中,当数据即将被读取自数据编程来源的至少一第二存储器300~30N时,探询编程状态以检查数据的编程是否成功。一方面,当数据的编程是成功的,读取数据编程到的至少一第二存储器300~30N的数据。另一方面,当数据的编程是不成功的,不读取数据编程到的至少一第二存储器300~30N的数据,并且数据编程来源的至少一第一存储器100~10N仍然储存该数据。再者,因为即将读取第二存储器300~30N所储存的数据,探询第二存储器300~30N的缓冲存储器与快取存储器的编程状态。
图3A是显示前案所述的顺序写入的编程的示意图。如图3A所示,数据DataW、DataY与DataZ依序被写入第二存储器(NAND)300~303。在固件以主机移转和NAND移转执行数据DataW、DataY与DataZ的依序写入后,会等待一等待时间T1,一旦写入完成或编程完成,就借由检查编程状态来执行数据DataA、DataC与DataD的依序写入。图3B是显示根据本发明一实施例所述的顺序写入的编程的示意图。固件在使用第二存储器300~303之前检查编程状态,而不是在写入完成或编程完成就立即检查编程状态。因此,图3B所示的等待时间T2小于图3A所示的等待时间T1,因而得到更好的效能。
图4A是显示前案所述的随机写入的编程的示意图,图4B是显示根据本发明一实施例所述的随机写入的编程的示意图。数据DataW、DataY与DataZ被随机写入第二存储器300~303。如图4A与图4B所示,因为固件在使用第二存储器300~303之前检查编程状态,而不是在写入完成或编程完成就立即检查编程状态,因此图4B所示的等待时间T4小于图4A所示的等待时间T3。
图5是显示根据本发明一实施例所述的存储器控制方法的示意图。在步骤S500,纪录从第一存储器编程到第二存储器的数据的编程状态。然后,在步骤S502,当第一或第二存储器即将被使用,借由探询编程状态检查编程是否成功。如果编程是不成功的,执行步骤S504,第一存储器储存数据直到编程被检查为成功。如果编程是成功的,执行步骤S506,更新编程状态。关于纪录、探询与处理编程状态的详细步骤如前所述,故此处不再赘述。
在本说明书以及申请专利范围中的序数,例如“第一”、“第二”、“第三”等等,彼此之间并没有顺序上的先后关系,其仅用于标示区分两个具有相同名字的不同元件。本发明说明书中“耦接”一词是泛指各种直接或间接的电性连接方式。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。

Claims (20)

1.一种具有一编程状态的存储器系统,包括:
至少一第一存储器,其中该至少一第一存储器的每一者具有多个存储区域以储存数据;
至少一第二存储器,其中该至少一第二存储器的每一者具有多个存储区域,用以编程来自该至少一第一存储器的该数据;以及
一控制器,耦接该第二存储器,用以纪录该数据的一编程状态,其中当该至少一第一存储器或该至少一第二存储器即将被使用时,借由探询该编程状态检查该编程是否成功,并且该至少一第一存储器储存该数据直到该编程被检查为成功。
2.如权利要求1所述的具有一编程状态的存储器系统,其特征在于,该编程状态包括关于该数据的信息、关于该至少一第一存储器及该数据被编程自存储区域的信息、关于该至少一第二存储器及该数据被编程至存储区域的信息。
3.如权利要求2所述的具有一编程状态的存储器系统,其特征在于,当该至少一第一存储器或是该至少一第二存储器被使用、或是该编程状态被探询时,该编程状态会被更新。
4.如权利要求1所述的具有一编程状态的存储器系统,其特征在于,该至少一第二存储器的每一者包括一第二缓冲存储器以及一第二快取存储器。
5.如权利要求4所述的具有一编程状态的存储器系统,其特征在于,当另一数据即将被写入至该至少一第一存储器,并且该数据是被编程自该至少一第一存储器时,该编程状态会被探询以检查该数据的该编程是否成功,并且该另一数据不同于该数据。
6.如权利要求5所述的具有一编程状态的存储器系统,其特征在于,当该数据的该编程为成功时,该数据被编程自的该至少一第一存储器被写入该另一数据,当该数据的该编程为不成功时,该数据被编程自的该至少一第一存储器不会被写入该另一数据。
7.如权利要求5所述的具有一编程状态的存储器系统,其特征在于,当该数据被编程至该第二快取存储器时,该第二快取存储器的该编程状态会被探询,并且当该数据被编程至该第二缓冲存储器时,该第二快取存储器以及该第二缓冲存储器的该编程状态会被探询。
8.如权利要求4所述的具有一编程状态的存储器系统,其特征在于,当该数据即将被读取自该至少一第二存储器时,并且该数据是被编程至该至少一第二存储器时,该编程状态会被探询以检查该数据的该编程是否成功。
9.如权利要求7所述的具有一编程状态的存储器系统,其特征在于,当该数据的该编程为成功时,该数据被编程至的该至少一第二存储器的该数据会被读取,当该数据的该编程为不成功时,该数据被编程至的该至少一第二存储器的该数据不会被读取,并且该数据被编程自的该至少一第一存储器储存该数据。
10.如权利要求8所述的具有一编程状态的存储器系统,其特征在于,该第二快取存储器以及该第二缓冲存储器的该编程状态会被探询。
11.一种具有一编程状态的存储器控制方法,包括:
纪录自至少一第一存储器编程至至少一第二存储器的数据的一编程状态;
当该至少一第一存储器或该至少一第二存储器即将被使用时,借由探询该编程状态检查该编程是否成功;以及
储存数据于该至少一第一存储器直到该编程被检查为成功。
12.如权利要求11所述的具有一编程状态的存储器控制方法,其特征在于,该编程状态包括关于该数据的信息、关于该至少一第一存储器及该数据被编程自存储区域的信息、关于该至少一第二存储器及该数据被编程至存储区域的信息。
13.如权利要求12所述的具有一编程状态的存储器控制方法,其特征在于,当该至少一第一存储器或是该至少一第二存储器被使用、或是该编程状态被探询时,更新该编程状态。
14.如权利要求11所述的具有一编程状态的存储器控制方法,其特征在于,该至少一第二存储器的每一者包括一第二缓冲存储器以及一第二快取存储器。
15.如权利要求14所述的具有一编程状态的存储器控制方法,其特征在于,当不同于该数据的另一数据即将被写入至该至少一第一存储器,并且该数据是被编程自该至少一第一存储器时,探询该编程状态以检查该数据的该编程是否成功。
16.如权利要求15所述的具有一编程状态的存储器控制方法,其特征在于,当该数据的该编程为成功时,写入该另一数据于该数据被编程自的该至少一第一存储器,当该数据的该编程为不成功时,不写入该另一数据于该数据被编程自的该至少一第一存储器。
17.如权利要求15所述的具有一编程状态的存储器控制方法,其特征在于,当该数据被编程至该第二快取存储器时,探询该第二快取存储器的该编程状态,并且当该数据被编程至该第二缓冲存储器时,探询该第二快取存储器以及该第二缓冲存储器的该编程状态。
18.如权利要求14所述的具有一编程状态的存储器控制方法,其特征在于,当该数据即将被读取自该至少一第二存储器时,并且该数据是被编程至该至少一第二存储器时,探询该编程状态以检查该数据的该编程是否成功。
19.如权利要求17所述的具有一编程状态的存储器控制方法,其特征在于,当该数据的该编程为成功时,读取该数据被编程至的该至少一第二存储器的该数据,当该数据的该编程为不成功时,不读取该数据被编程至的该至少一第二存储器的该数据,并且储存该数据于该数据被编程自的该至少一第一存储器。
20.如权利要求18所述的具有一编程状态的存储器控制方法,更包括探询该第二快取存储器以及该第二缓冲存储器的该编程状态。
CN201610027762.XA 2015-01-23 2016-01-15 具有编程状态的存储器系统与存储器控制方法 Active CN105824575B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/604,358 US10169225B2 (en) 2015-01-23 2015-01-23 Memory system and memory-control method with a programming status
US14/604,358 2015-01-23

Publications (2)

Publication Number Publication Date
CN105824575A true CN105824575A (zh) 2016-08-03
CN105824575B CN105824575B (zh) 2019-06-18

Family

ID=56433301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610027762.XA Active CN105824575B (zh) 2015-01-23 2016-01-15 具有编程状态的存储器系统与存储器控制方法

Country Status (3)

Country Link
US (1) US10169225B2 (zh)
CN (1) CN105824575B (zh)
TW (2) TWI637399B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI640867B (zh) * 2017-05-02 2018-11-11 慧榮科技股份有限公司 資料儲存裝置及其操作方法
CN110955387B (zh) * 2019-10-25 2023-10-24 合肥沛睿微电子股份有限公司 自适应识别闪存类型方法及计算机可读取存储介质及装置
TWI740268B (zh) * 2019-11-08 2021-09-21 大陸商合肥沛睿微電子股份有限公司 自我調整識別快閃記憶體類型方法及裝置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742792A (en) * 1993-04-23 1998-04-21 Emc Corporation Remote data mirroring
US6044444A (en) * 1996-05-28 2000-03-28 Emc Corporation Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected
US20050033827A1 (en) * 2003-06-23 2005-02-10 Hitachi, Ltd. Three data center remote copy system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100330164B1 (ko) * 1999-04-27 2002-03-28 윤종용 무효 블록들을 가지는 복수의 플래시 메모리들을 동시에 프로그램하는 방법
KR100918707B1 (ko) * 2007-03-12 2009-09-23 삼성전자주식회사 플래시 메모리를 기반으로 한 메모리 시스템
US7440327B1 (en) * 2007-04-25 2008-10-21 Sandisk Corporation Non-volatile storage with reduced power consumption during read operations
US7606079B2 (en) * 2007-04-25 2009-10-20 Sandisk Corporation Reducing power consumption during read operations in non-volatile storage
US8443167B1 (en) * 2009-12-16 2013-05-14 Western Digital Technologies, Inc. Data storage device employing a run-length mapping table and a single address mapping table

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742792A (en) * 1993-04-23 1998-04-21 Emc Corporation Remote data mirroring
US6044444A (en) * 1996-05-28 2000-03-28 Emc Corporation Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected
US20050033827A1 (en) * 2003-06-23 2005-02-10 Hitachi, Ltd. Three data center remote copy system

Also Published As

Publication number Publication date
TW201629957A (zh) 2016-08-16
TWI602194B (zh) 2017-10-11
CN105824575B (zh) 2019-06-18
TW201735025A (zh) 2017-10-01
US10169225B2 (en) 2019-01-01
TWI637399B (zh) 2018-10-01
US20160217067A1 (en) 2016-07-28

Similar Documents

Publication Publication Date Title
CN109871333B (zh) 存取闪存模块的方法及相关的闪存控制器与电子装置
CN104750626B (zh) 数据储存装置以及快闪存储器控制方法
JP6893897B2 (ja) ソリッドステートドライブ(ssd)、そのガーベッジコレクションに係る方法、及びその具現に係る物品
US8417901B2 (en) Combining write commands to overlapping addresses or to a specific page
CN108874301B (zh) 数据储存装置以及其操作方法
US10339079B2 (en) System and method of interleaving data retrieved from first and second buffers
TWI594121B (zh) 使用資料壓縮的快取技術
US20080098195A1 (en) Memory system including flash memory and mapping table management method
US20100191896A1 (en) Solid state drive controller with fast NVRAM buffer and non-volatile tables
US8510497B2 (en) Flash storage device with flexible data format
EP1548600B1 (en) Data management device and method for flash memory
TWI659304B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
TW201409232A (zh) 映射管理的方法
JP2017527877A (ja) フラッシュメモリから/フラッシュメモリへデータを読み取る/書き込むための方法および装置、ならびにユーザ機器
CN106547701A (zh) 记忆装置及数据读取方法
CN106598504B (zh) 数据存储方法及装置
CN105824575A (zh) 具有编程状态的存储器系统与存储器控制方法
WO2022116067A1 (zh) 闪存的数据处理方法和数据处理装置
US9152589B2 (en) Memory data transfer method and system
CN107562648B (zh) 无锁ftl访问方法与装置
AU2015203828B2 (en) Implementing enhanced performance with read before write to phase change memory to avoid write cancellations
CN112015671B (zh) 闪存控制器、存储器装置以及存取闪存模块的方法
CN111324289B (zh) 一种存储器
TW201709207A (zh) 快閃記憶體的存取方法及相關的記憶體控制器與電子裝置
CN104298616B (zh) 数据块初始化方法、高速缓冲存储器和终端

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