CN105701021A - 数据储存装置及其数据写入方法 - Google Patents
数据储存装置及其数据写入方法 Download PDFInfo
- Publication number
- CN105701021A CN105701021A CN201510565645.4A CN201510565645A CN105701021A CN 105701021 A CN105701021 A CN 105701021A CN 201510565645 A CN201510565645 A CN 201510565645A CN 105701021 A CN105701021 A CN 105701021A
- Authority
- CN
- China
- Prior art keywords
- data
- write
- instance
- page
- flash 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
Links
- 238000000034 method Methods 0.000 title claims description 51
- 238000013500 data storage Methods 0.000 title abstract 3
- 230000015654 memory Effects 0.000 claims abstract description 106
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 claims description 43
- 229910052799 carbon Inorganic materials 0.000 claims description 43
- 238000013507 mapping Methods 0.000 claims description 24
- 230000005039 memory span Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
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)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
本发明提供一种数据储存装置。数据储存装置包括一快闪存储器以及一控制器。快闪存储器具有多个实体页面。控制器用以接收将一第一数据写入多个特定逻辑地址的一写入命令,并且根据写入命令判断特定逻辑地址是否已被写入数据,其中当特定逻辑地址中的至少一第一逻辑地址已被写入数据时,对先前被写入第一逻辑地址的数据的至少一第一实体页面进行复写,并且在结束对第一实体页面复写后,根据写入命令自快闪存储器中选取多个第二实体页面,以将第一数据写入第二实体页面并且将第一逻辑地址映射至第二实体页面。
Description
技术领域
本发明有关于一种数据储存装置的数据写入方法;特别有关于一种判断特定逻辑地址是否已被写入数据的数据写入方法。
背景技术
快闪存储器为一种普遍的非挥发性数据储存媒体,以电性方式抹除与程序化。以与非门型的快闪存储器(即NANDFLASH)为例,常用作记忆卡(memorycard)、通用串行总线闪存装置(USBflashdevice)、固态硬碟(SSD)、嵌入式快闪存储器模块(eMMC)…等的储存媒体。
现在的电子装置多使用快闪存储器(如,NANDFLASH)储存数据。在已知的技术中,虽然使用者已将数据删除,但在快闪存储器中旧数据仍然存在,尚未立即抹除,有心者仍可透过特殊方式取出快闪存储器中的数据。因此,如何有效并且安全地将数据删除则成为了一个重要的课题。
发明内容
本发明所提供的数据储存装置以及数据写入方法可以在将数据写入特定逻辑地址前,复写特定逻辑地址先前被写入数据的实体页面。
本发明提供一种数据储存装置。数据储存装置包括一快闪存储器以及一控制器。快闪存储器具有多个实体页面。控制器用以接收将一第一数据写入多个特定逻辑地址的一写入命令,并且根据写入命令判断特定逻辑地址是否已被写入数据,其中当特定逻辑地址中的至少一第一逻辑地址已被写入数据时,对先前被写入第一逻辑地址的数据的至少一第一实体页面进行复写,并且在结束对第一实体页面复写后,根据写入命令自快闪存储器中选取多个第二实体页面,以将第一数据写入第二实体页面并且将第一逻辑地址映射至第二实体页面。
在一实施例中,控制器更用以产生具有一第一格式的至少一第一子写入命令,以致使快闪存储器根据第一子写入命令,对第一实体页面进行复写,并且控制器亦用以产生具有一第二格式的多个第二子写入命令,以致使快闪存储器根据第二子写入命令,将第一数据段写入第二实体页面,其中第一格式不等同于第二格式。第一格式包括一特殊模式切换指令、一写入指令、一字元线地址以及一数据段,并且第二格式包括一写入指令、一实体页面地址以及一数据段。
在另一实施例中,控制器还用以以一第一写入模式对第一实体页面进行复写,并且以一第二写入模式,将第一数据段写入第二实体页面,其中第一写入模式不等同于第二写入模式。值得注意的是,快闪存储器系操作于多阶储存单元,第一写入模式系为一单阶储存单元写入模式,并且第二写入模式为一多阶储存单元写入模式。
另外,当特定逻辑地址未被写入数据时,控制器根据写入命令自快闪存储器中选取多个第三实体页面,以将第一数据写入第三实体页面并且将第一逻辑地址映射至第三实体页面。控制器根据一实体逻辑映射表判断特定逻辑地址是否已被写入数据,在实体逻辑映射表中记录特定逻辑地址以及第二实体页面的相应关系以将第一逻辑地址映射至第二实体页面,并且在实体逻辑映射表中记录特定逻辑地址以及第三实体页面的相应关系以将第一逻辑地址映射至第三实体页面。
本发明亦提供一种数据写入方法,适用于一数据储存装置,其中数据储存装置包括一快闪存储器,快闪存储器具有多个实体页面。数据写入方法包括:接收将一第一数据写入多个特定逻辑地址的一写入命令;根据写入命令判断特定逻辑地址是否已被写入数据;当特定逻辑地址中的至少一第一逻辑地址已被写入数据时,对先前被写入第一逻辑地址的数据的至少一第一实体页面进行复写;以及在结束对第一实体页面复写后,根据写入命令自快闪存储器中选取多个第二实体页面,以将第一数据写入第二实体页面并且将第一逻辑地址映射至第二实体页面。
在一实施例中,对第一实体页面进行复写的步骤更包括产生具有一第一格式的至少一第一子写入命令,以致使快闪存储器根据第一子写入命令,对第一实体页面进行复写,并且将第一数据写入第二实体页面的步骤还包括产生具有一第二格式的多个第二子写入命令,以致使快闪存储器根据第二子写入命令,将第一数据段写入第二实体页面,其中第一格式不等同于第二格式。
在另一实施例中,对第一实体页面进行复写的步骤是以一第一写入模式对第一实体页面进行复写,并且将第一数据写入第二实体页面的步骤系以一第二写入模式,将第一数据段写入第二实体页面,其中第一写入模式不等同于第二写入模式。快闪存储器操作于多阶储存单元,第一写入模式为一单阶储存单元写入模式,并且第二写入模式为一多阶储存单元写入模式。
另外,数据写入方法还包括当特定逻辑地址未被写入数据时,根据写入命令自快闪存储器中选取多个第三实体页面,以将第一数据写入第三实体页面并且将第一逻辑地址映射至第三实体页面。判断特定逻辑地址是否已被写入数据还包括根据一实体逻辑映射表判断特定逻辑地址是否已被写入数据,将第一逻辑地址映射至第二实体页面的步骤还包括在实体逻辑映射表中记录特定逻辑地址以及第二实体页面的相应关系以将第一逻辑地址映射至第二实体页面,并且将第一逻辑地址映射至第三实体页面的步骤还包括在实体逻辑映射表中记录特定逻辑地址以及第三实体页面的相应关系以将第一逻辑地址映射至第三实体页面。
附图说明
图1是本发明的一种实施例的电子***的方块图。
图2是本发明的一种实施例的子写入命令的示意图。
图3是本发明的一种实施例的数据写入方法的流程图。
图4是本发明的另一种实施例的数据写入方法的流程图。
符号说明
100电子***;
120主机;
140数据储存装置;
160控制器;
162运算单元;
164永久存储器;
166随机存取存储器;
180快闪存储器;
CM1、CM2子写入命令;
C11~C14、C21~C23栏位;
S300~S310、S400~S410步骤。
具体实施方式
以下将详细讨论本发明各种实施例的装置及使用方法。然而值得注意的是,本发明所提供的许多可行的发明概念可实施在各种特定范围中。这些特定实施例仅用于举例说明本发明的装置及使用方法,但非用于限定本发明的范围。
图1为本发明所提供的一电子***的一种实施例的方块图。电子***100包括一主机120以及一数据储存装置140。数据储存装置140包括一快闪存储器180以及一控制器160,且可根据主机110所下达的命令操作。控制器160包括一运算单元162、一永久存储器(如,只读存储器ROM)164以及随机存取存储器(RAM)166。永久存储器164与所载的程序码、数据组成固件(firmware),由运算单元162执行,使控制器160基于该固件控制该快闪存储器180。随机存取存储器(RAM)166用以载入程序码与参数以提供控制器160根据所载入的程序码与参数动作。快闪存储器180具有多个区块,其中每一区块具有多个实体页面,其中快闪存储器180是以页面为最小单位进行写入,并且以区块为最小单位进行抹除。
值得注意的是,在本发明中,快闪存储器180操作于多阶储存单元(Multi-LevelCell,MLC)模式。换言之,快闪存储器180是将每一单阶储存单元(Single-LevelCell,SLC)的一实体页面(LSB),藉由电压分布程序化为两个实体页面(LSB以及MSB),以增加快闪存储器180的存储器容量,其中每一实体页面在写入数据后会对应到一个特定逻辑地址,并且该对应关系记录在快闪存储器180所储存的一实体逻辑映射表中。在单阶储存单元(Single-LevelCell,SLC)模式中,快闪存储器180的每一条字元线用以控制一个实体页面(LSB),并且在多阶储存单元(Multi-LevelCell,MLC)模式中,快闪存储器180中的每一条字元线用以控制两个实体页面(LSB以及MSB)。另外,由上述可知,操作于多阶储存单元(Multi-LevelCell,MLC)模式的快闪存储器180的存储器容量是操作于单阶储存单元(Single-LevelCell,SLC)模式的快闪存储器180的存储器容量的两倍。
当控制器160自主机120接收到将一第一数据写入多个特定逻辑地址的一写入命令时,控制器160根据写入命令判断写入命令所指示的特定逻辑地址是否已被写入数据。当特定逻辑地址中的至少一第一逻辑地址已被写入数据时,控制器160对先前被写入第一逻辑地址的数据的至少一第一实体页面进行复写。在结束对第一实体页面复写后,控制器160根据写入命令自快闪存储器180中选取多个第二实体页面,以将第一数据写入第二实体页面并且将第一逻辑地址映射至第二实体页面。当特定逻辑地址未被写入数据时,控制器160根据写入命令自快闪存储器180中选取多个第三实体页面,以将第一数据写入第三实体页面并且将第一逻辑地址映射至第三实体页面。
另外,在本发明的一实施例中,控制器160可根据实体逻辑映射表判断特定逻辑地址是否已被写入数据,但本发明不限于此。举例而言,控制器160可在实体逻辑映射表中记录特定逻辑地址以及第二实体页面的相应关系以将第一逻辑地址映射至第二实体页面,并且在实体逻辑映射表中记录特定逻辑地址以及第三实体页面的相应关系以将第一逻辑地址映射至第三实体页面。在其他实施例中,控制器160亦可以其他的方式记录逻辑地址目前是否有被写入数据,以判断特定逻辑地址是否已被写入数据。另外,控制器160亦可对快闪存储器180进行数据扫瞄,以判断特定逻辑地址是否已被写入数据。
举例而言,当控制器160自主机120接收到将数据写入逻辑地址1~60的一第一写入命令时,控制器160根据写入命令判断写入命令所指示的特定逻辑地址1~60是否已被写入数据。假设特定逻辑地址1~60尚未被写入数据,控制器160则直接根据写入命令自快闪存储器180中选取60个可使用的实体页面P0~P60,以将数据写入实体页面P0~P60并且将特定逻辑地址1~60分别映射至实体页面P0~P60。接着,当控制器160自主机120接收到将数据写入特定逻辑地址1~60的一第二写入命令时,控制器160根据写入命令判断写入命令所指示的特定逻辑地址1~60是否已被写入数据。如上所述,特定逻辑地址1~60已被写入数据,故控制器160对先前被写入特定逻辑地址1~60(第一逻辑地址)的数据的实体页面P0~P60进行复写。在结束对实体页面P0~P60复写后,控制器160根据第二写入命令自快闪存储器180中另外选取60个实体页面61~120,以将第二写入命令的数据写入实体页面61~120并且将特定逻辑地址1~60分别映射至实体页面61~120。在另一实施例中,当控制器160自主机120接收到的第二写入命令系指示将数据写入特定逻辑地址50~110时,控制器160根据写入命令判断写入命令所指示的特定逻辑地址50~110是否已被写入数据。如上所述,逻辑地址1~60已被写入数据。换言之,特定逻辑地址50~110中的特定逻辑地址50~60(第一逻辑地址)已被写入数据,故控制器160对先前被写入特定逻辑地址50~60的数据的实体页面P50~P60进行复写。在结束对实体页面P50~P60复写后,控制器160根据第二写入命令自快闪存储器180中另外选取60个实体页面61~120,以将第二写入命令的数据写入实体页面61~120并且将特定逻辑地址50~110分别映射至实体页面61~120。在上述实施例中,亦可先将新数据写入后,再对旧数据进行复写;即是先选取60个实体页面61~120将第二写入命令的新数据写入,再将旧数据所存放的实体页面P0~P60进行复写的作法,亦是属于本发明的范畴。
如上所述,先前写在第一逻辑地址的数据可在下一笔数据被写入第一逻辑地址之前被控制器160复写,其中控制器160可藉由将无效数据写入第一实体页面,以对先前被写入第一逻辑地址的第一实体页面进行复写。换言之,先前写在第一逻辑地址的数据已在下一笔数据被写入第一逻辑地址之前被无效(或毁损)。在已知的技术中,快闪存储器180藉由更改实体逻辑映射表中的映射关系来更新数据。举例而言,当储存于一逻辑地址的数据需要被更新时,控制器160删除实体逻辑映射表中该逻辑地址以及所相应到的实体页面地址的对应关系,并另外选择实体页面写入新的数据以将写入新数据的实体页面映射至该逻辑地址。因此,在已知技术中,原先的数据实际上还存在快闪存储器180的实体页面中,只是控制器160无法藉由映射关系找到该笔数据。也因此,已知技术中的数据更新方式无法防范恶意攻击者窃取快闪存储器180中的数据。然而,在本案上述的实施例中,被更新的旧数据藉由复写进而被无效(或毁损),故可有效的防范恶意攻击者窃取快闪存储器180中的数据。
在已知技术中,以多阶储存单元写入模式对实体页面进行复写,会造成被复写的实体页面周围的实体页面损坏。因此,在本案的一实施例中,控制器160可用不同的操作模式对页面进行写入以及复写,其中控制器160以一第一写入模式对第一实体页面进行复写,以一第二写入模式,将第一数据段写入第二实体页面,并且第一写入模式不等同于第二写入模式。在一实施例中,第一写入模式为单阶储存单元写入模式,并且第二写入模式为多阶储存单元写入模式,但本发明不限于此。换言之,控制器160在写入无效数据以进行复写时,是以单阶储存单元写入模式将数据写入快闪存储器180,其中被单阶储存单元写入模式写入的每一个实体页面,是由一条字元线所控制的。另外,控制器160在写入有效数据时,是以多阶储存单元写入模式将数据写入快闪存储器180,其中被多阶储存单元写入模式写入的每两个实体页面,由一条字元线所控制的。在其他实施例中,快闪存储器180亦可操作于三阶储存单元(Triple-LevelCell,TLC)写入模式,第一写入模式可为单阶储存单元写入模式或者多阶储存单元写入模式,并且第二写入模式可为三阶储存单元写入模式。
详细而言,控制器160更用以产生具有一第一格式的至少一第一子写入命令,以致使快闪存储器180根据第一子写入命令,对第一实体页面进行复写,并且控制器160亦用以产生具有一第二格式的多个第二子写入命令,以致使快闪存储器180根据第二子写入命令,将第一数据段写入第二实体页面,其中第一格式不等同于第二格式。如上所述,具有第一格式的第一子写入命令用以致能快闪存储器180以单阶储存单元写入模式将无效数据复写至快闪存储器180,并且具有第二格式的第二子写入命令用以致能快闪存储器180以多阶储存单元写入模式将有效数据写入快闪存储器180。
图2是本发明的一种实施例的子写入命令的示意图。图2包括具有第一格式的一第一子写入命令CM1以及具有第二格式的一第二子写入命令CM2,其中第一格式的第一子写入命令CM1是由四个栏位C11、C12、C13、C14所构成,并且第二格式的第二子写入命令CM2则是由三个栏位C21、C22、C23所构成。第一子写入命令CM1的第一栏位C11为一特殊模式切换指令。在本实施例中,特殊模式切换指令为A2用以致使操作于多阶储存单元写入模式的快闪存储器180切换到操作于单阶储存单元写入模式,但本发明不限于此。在其他实施例中,特殊模式切换指令亦可为由其他字元所构成的指令。第一子写入命令CM1的第二栏位C12为一写入指令。在本实施例中,写入指令为80用以致使快闪存储器180进行写入,但本发明不限于此。在其他实施例中,写入指令亦可为由其他字元所构成的指令。第一子写入命令CM1的第三栏位C13为一字元线地址ALE。在本实施例中,字元线地址ALE用以表示快闪存储器180中多个字元线中之一,以在快闪存储器180中选取由该指定的字元线所控制的实体页面。第一子写入命令CM1的第四栏位C14为一数据段DATA。在本实施例中,数据段DATA要写入由第三栏位C13所指定的字元线所控制的实体页面的无效数据。第二子写入命令CM2的第一栏位C21为一写入指令。在本实施例中,写入指令为80用以致使快闪存储器180进行写入,但本发明不限于此。在其他实施例中,写入指令亦可为由其他字元所构成的指令。第二子写入命令CM2的第二栏位C22为一实体页面地址SP。在本实施例中,实体页面地址SP用以表示操作于多阶储存单元写入模式的快闪存储器180中的多个实体页面中之一,以在快闪存储器180中选取一实体页面。第二子写入命令CM2的第三栏位C23为一数据段DATA。在本实施例中,数据段DATA要写入由第二栏位C22所指定的实体页面的有效数据。换言之,第三栏位C23的数据段DATA写入命令所要写入的数据中之一段。综上所述,第一格式包括一特殊模式切换指令、一写入指令、一字元线地址以及一数据段,并且第二格式包括一写入指令、一实体页面地址以及一数据段。
图3是本发明的一种实施例的数据写入方法的流程图。数据写入方法适用于图1所示的数据储存装置140。流程开始于步骤S300。
在步骤S300中,控制器160判断是否自主机120接收到写入命令。当控制器160自主机120接收到写入命令时,流程进行至步骤S302;否则,控制器160继续判断是否自主机120接收到写入命令。
在步骤S302中,控制器160根据写入命令,判断相应于写入命令的特定逻辑地址是否已被写入数据。举例而言,控制器160在步骤S300中接收到将一第一数据写入快闪存储器180中的多个特定逻辑地址的一写入命令。控制器160根据写入入命令,判断写入命令所指示的特定逻辑地址中是否有已被写入数据的逻辑地址。当相应于写入命令的特定逻辑地址中的至少一第一逻辑地址已被写入数据时,流程进行至步骤S306。当相应于写入命令的特定逻辑地址皆未被写入数据时,流程进行至步骤S310。在本发明的一实施例中,控制器160可根据实体逻辑映射表判断特定逻辑地址是否已被写入数据,但本发明不限于此。举例而言,控制器160可在在实体逻辑映射表中记录特定逻辑地址以及第二实体页面的相应关系以将第一逻辑地址映射至第二实体页面,并且在实体逻辑映射表中记录特定逻辑地址以及第三实体页面的相应关系以将第一逻辑地址映射至第三实体页面。在其他实施例中,控制器160亦可以其他的方式记录逻辑地址目前是否有被写入数据,以判断特定逻辑地址是否已被写入数据。另外,控制器160亦可对快闪存储器180进行数据扫瞄,以判断特定逻辑地址是否已被写入数据。
在步骤S306中,控制器160对先前被写入第一逻辑地址的数据的至少一第一实体页面进行复写。举例而言,当控制器160在步骤S300中自主机120接收到的写入命令是指示将数据写入特定逻辑地址50~110时,控制器160在步骤S302中判断逻辑地址1~60已被写入数据。换言之,特定逻辑地址50~110中的第一逻辑地址50~60已被写入数据。因此,在步骤S304中,控制器160对特定逻辑地址50~110中先前已被写入数据的第一逻辑地址50~60的实体页面进行复写。
接着,在步骤S310中,控制器160自快闪存储器180中选取可使用的多个实体页面,以将写入指令要求写入的数据写入所选取的实体页面,并且将写入指令所要求的逻辑地址映射至所写入的实体页面。举例而言,当控制器160在步骤S300中自主机120接收到的写入命令是指示将数据写入特定逻辑地址50~110时,控制器160根据写入命令自快闪存储器180中选取60个可使用的实体页面61~120,以将写入命令的数据写入实体页面61~120并且将特定逻辑地址50~110分别映射至实体页面61~120。在本实施例中,可使用的实体页面为不具有有效数据的页面。在另一实施例中,可使用的实体页面不包括在步骤S306中被复写的页面。流程结束于步骤S310。
图4是本发明的另一种实施例的数据写入方法的流程图。数据写入方法适用于图1所示的数据储存装置140。值得注意的是,在本实施例中,控制器160可用不同的操作模式对页面进行写入以及复写,其中控制器160以一第一写入模式对第一实体页面进行复写,以一第二写入模式,将第一数据段写入第二实体页面,并且第一写入模式不等同于第二写入模式。在一实施例中,第一写入模式为单阶储存单元写入模式,并且第二写入模式为多阶储存单元写入模式,但本发明不限于此。换言之,在本实施例中,控制器160在写入无效数据以进行复写时,是以单阶储存单元写入模式将数据写入快闪存储器180,其中被单阶储存单元写入模式写入的每一个实体页面,是由一条字元线所控制的。另外,控制器160在写入有效数据时,是以多阶储存单元写入模式将数据写入快闪存储器180,其中被多阶储存单元写入模式写入的每两个实体页面,系由一条字元线所控制的。流程开始于步骤S400。
在步骤S400中,控制器160判断是否自主机120接收到写入命令。当控制器160自主机120接收到写入命令时,流程进行至步骤S402;否则,控制器160继续判断是否自主机120接收到写入命令。
在步骤S402中,控制器160根据写入命令,判断相应于写入命令的特定逻辑地址是否已被写入数据。举例而言,控制器160在步骤S400中接收到将一第一数据写入快闪存储器180中的多个特定逻辑地址的一写入命令。控制器160根据写入入命令,判断写入命令所指示的特定逻辑地址中是否有已被写入数据的逻辑地址。当相应于写入命令的特定逻辑地址中的至少一第一逻辑地址已被写入数据时,流程进行至步骤S404。当相应于写入命令的特定逻辑地址皆未被写入数据时,流程进行至步骤S408。在本发明的一实施例中,控制器160可根据实体逻辑映射表判断特定逻辑地址是否已被写入数据,但本发明不限于此。
在步骤S404中,控制器160还用以产生具有一第一格式的至少一第一子写入命令。具有第一格式的第一子写入命令用以致能快闪存储器180以单阶储存单元写入模式将无效数据复写至快闪存储器180。第一格式的第一子写入命令CM1是由四个栏位C11、C12、C13、C14所构成,如图2所示。第一子写入命令CM1的第一栏位C11为一特殊模式切换指令。在本实施例中,特殊模式切换指令为A2用以致使操作于多阶储存单元写入模式的快闪存储器180切换到操作于单阶储存单元写入模式,但本发明不限于此。在其他实施例中,特殊模式切换指令亦可为由其他字元所构成的指令。第一子写入命令CM1的第二栏位C12为一写入指令。在本实施例中,写入指令为80用以致使快闪存储器180进行写入,但本发明不限于此。在其他实施例中,写入指令亦可为由其他字元所构成的指令。第一子写入命令CM1的第三栏位C13为一字元线地址ALE。在本实施例中,字元线地址ALE用以表示快闪存储器180中多个字元线中之一,以在快闪存储器180中选取由该指定的字元线所控制的实体页面。第一子写入命令CM1的第四栏位C14为一数据段DATA。在本实施例中,数据段DATA要写入由第三栏位C13所指定的字元线所控制的实体页面的无效数据。
在步骤S406中,控制器160根据第一子写入命令,以单阶储存单元写入模式对先前被写入第一逻辑地址的数据的至少一第一实体页面进行复写。举例而言,当控制器160在步骤S400中自主机120接收到的写入命令指示将数据写入特定逻辑地址50~110时,控制器160在步骤S402中判断逻辑地址1~60已被写入数据。换言之,特定逻辑地址50~110中的第一逻辑地址50~60已被写入数据。因此,在步骤S404中,控制器160对特定逻辑地址50~110中先前已被写入数据的第一逻辑地址50~60的实体页面进行复写。
在步骤S406中,控制器160自快闪存储器180中选取可使用的多个实体页面,并且产生具有一第二格式的多个第二子写入命令。具有第二格式的第二子写入命令用以致能快闪存储器180以多阶储存单元写入模式将有效数据写入快闪存储器180。第二格式的第二子写入命令CM2则是由三个栏位C21、C22、C23所构成,如图2所示。第二子写入命令CM2的第一栏位C21为一写入指令。在本实施例中,写入指令为80用以致使快闪存储器180进行写入,但本发明不限于此。在其他实施例中,写入指令亦可为由其他字元所构成的指令。第二子写入命令CM2的第二栏位C22为一实体页面地址SP。在本实施例中,实体页面地址SP用以表示操作于多阶储存单元写入模式的快闪存储器180中的多个实体页面中之一,以在快闪存储器180中选取一实体页面。第二子写入命令CM2的第三栏位C23为一数据段DATA。在本实施例中,数据段DATA要写入由第二栏位C22所指定的实体页面的有效数据。换言之,第三栏位C23的数据段DATA写入命令所要写入的数据中的一段。
接着,在步骤S408中,控制器160根据第二子写入命令,以多阶储存单元写入模式将写入指令要求写入的数据写入所选取的实体页面,并且将写入指令所要求的逻辑地址映射至所写入的实体页面。举例而言,当控制器160在步骤S400中自主机120接收到的写入命令指示将数据写入特定逻辑地址50~110时,控制器160根据写入命令自快闪存储器180中选取60个可使用的实体页面61~120,以将写入命令的数据写入实体页面61~120并且将特定逻辑地址50~110分别映射至实体页面61~120。在本实施例中,可使用的实体页面为不具有有效数据的页面。在另一实施例中,可使用的实体页面不包括在步骤S406中被复写的页面。流程结束于步骤S408。
本案所提供的数据储存装置140以及数据写入方法可保持快闪存储器180中仅会持有一份对应于一个逻辑地址的数据。
本发明的方法,或特定型态或其部份,可以以程序码的型态存在。程序码可储存于实体媒体,如软碟、光碟片、硬碟、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程序产品,其中,当程序码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程序码也可透过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。
以上所述,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即凡依本发明申请专利范围及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。另外本发明的任一实施例或申请专利范围不须达成本发明所揭示的全部目的或优点或特点。此外,摘要部分和标题仅是用来辅助专利文件搜寻之用,并非用来限制本发明的权利范围。
Claims (18)
1.一种数据储存装置,包括:
一快闪存储器,具有多个实体页面;以及一控制器,用以接收将一第一数据写入多个特定逻辑地址的写入命令,并且根据该写入命令判断这些特定逻辑地址是否已被写入数据,其中当这些特定逻辑地址中的一第一逻辑地址已被写入数据时,对先前被写入该第一逻辑地址的数据的至少一第一实体页面进行复写,并且在结束对该第一实体页面复写后,根据该写入命令自该快闪存储器中选取多个第二实体页面,以将该第一数据写入这些第二实体页面并且将这些第一逻辑地址映身至这些第二实体页面。
2.根据权利要求1所述的数据储存装置,其特征在于,该控制器还用以产生具有一第一格式的至少一第一子写入命令,以致使该快闪存储器根据该第一子写入命令,对该第一实体页面进行复写,并且该控制器亦用以产生具有一第二格式的多个第二子写入命令,以致使该快闪存储器根据这些第二子写入命令,将该第一数据段写入这些第二实体页面,其中该第一格式不等同于该第二格式。
3.根据权利要求2所述的数据储存装置,其特征在于,该第一格式包括一特殊模式切换指令、一写入指令、一字元线地址以及一数据段,并且该第二格式包括一写入指令、一实体页面地址以及一数据段。
4.根据权利要求1所述的数据储存装置,其特征在于,该控制器还用以以一第一写入模式对该第一实体页面进行复写,并且以一第二写入模式,将该第一数据段写入这些第二实体页面,其中该第一写入模式不等同于该第二写入模式。
5.根据权利要求4所述的数据储存装置,其特征在于,该快闪存储器操作于多阶储存单元,该第一写入模式为一单阶储存单元写入模式,并且该第二写入模式为一多阶储存单元写入模式。
6.根据权利要求1所述的数据储存装置,其特征在于,当这些特定逻辑地址未被写入数据时,该控制器根据该写入命令自该快闪存储器中选取多个第三实体页面,以将该第一数据写入这些第三实体页面并且将这些第一逻辑地址映射至这些第三实体页面。
7.根据权利要求6所述的数据储存装置,其特征在于,该控制器根据一实体逻辑映射表判断这些特定逻辑地址是否已被写入数据,在该实体逻辑映射表中记录这些特定逻辑地址以及这些第二实体页面的相应关系以将这些第一逻辑地址映射至这些第二实体页面,并且在该实体逻辑映射表中记录这些特定逻辑地址以及这些第三实体页面的相应关系以将这些第一逻辑地址映射至这些第三实体页面。
8.一种数据写入方法,适用于一数据储存装置,其中该数据储存装置包括一快闪存储器,该快闪存储器具有多个实体页面,数据写入方法包括:
接收将一第一数据写入多个特定逻辑地址的一写入命令;
根据该写入命令判断这些特征逻辑地址是否已被写入数据;
当这些特定逻辑地址中的至少一第一逻辑地址已被写入数据时,对先前被写入该第一逻辑地址的数据的至少一第一实体页面进行复写;以及
在结束对该第一实体页面复写后,根据该写入命令自该快闪存储器中选取多个第二实体页面,以将该第一数据写入这些第二实体页面并且将这些第一逻辑地址映身至这些第二实体页面。
9.根据权利要求8所述的数据写入方法,其特征在于,对该第一实体页面进行复写的步骤还包括产生具有一第一格式的至少一第一子写入命令,以致使该快闪存储器根据该第一子写入命令,对该第一实体页面进行复写,并且将该第一数据写入这些第二实体页面的步骤还包括产生具有一第二格式的多个第二子写入命令,以致使该快闪存储器根据这些第二子写入命令,将该第一数据段写入这些第二实体页面,其中该第一格式不等同于该第二格式。
10.根据权利要求9所述的数据写入方法,其特征在于,该第一格式包括一特殊模式切换指令、一写入指令、一字元线地址以及一数据段,并且该第二格式包括一写入指令、一实体页面地址以及一数据段。
11.根据权利要求8所述的数据写入方法,其特征在于,对该第一实体页面进行复写的步骤是以一第一写入模式对该第一实体页面进行复写,并且将该第一数据写入这些第二实体页面的步骤是以一第二写入模式,将该第一数据段写入这些第二实体页面,其中该第一写入模式不等同于该第二写入模式。
12.根据权利要求11所述的数据写入方法,其特征在于,该快闪存储器操作于多阶储存单元,该第一写入模式为一单阶储存单元写入模式,并且该第二写入模式为一多阶储存单元写入模式。
13.根据权利要求8所述的数据写入方法,其特征在于,还包括当这些特定逻辑地址未被写入数据时,根据该写入命令自该快闪存储器中选取多个第三实体页面,以将该第一数据写入这些第三实体页面并且将这些第一逻辑地址映射至这些第三实体页面。
14.根据权利要求13所述的数据写入方法,其特征在于,判断这些特定逻辑地址是否已被写入数据还包括根据一实体逻辑映射表判断这些特定逻辑地址是否已被写入数据,将这些第一逻辑地址映射至这些第二实体页面的步骤还包括在该实体逻辑映射表中记录这些特定逻辑地址以及这些第二实体页面的相应关系以将这些第一逻辑地址映射至这些第二实体页面,并且将这些第一逻辑地址映射至这些第三实体页面的步骤还包括在该实体逻辑映射表中记录这些特定逻辑地址以及这些第三实体页面的相应关系以将这些第一逻辑地址映射至这些第三实体页面。
15.一种数据写入方法,适用于一数据储存装置,其中该数据储存装置包括一快闪存储器,该快闪存储器具有多个实体页面,数据写入方法包括:
接收一写入命令,该写入命令具有一第一数据,以及一第一逻辑地址;
自该快闪存储体中选取一第二实体页面,以将该第一数据写入譔第二实体页面并且将第一逻辑地址映射至该二实体页面;以及
当该第一逻辑地址已被写入数据时,对先前被写入该第一逻辑地址的数据的至少一第一实体页面进行复写。
16.根据权利要求15所述的数据写入方法,其特征在于,对该第一实体页面进行复写的步骤还包括产生具有一第一格式的至少一第一子写入命令,以致使该快闪存储器根据该第一子写入命令,对该第一实体页面进行复写,并且将该第一数据写入这些第二实体页面的步骤还包括产生具有一第二格式的多个第二子写入命令,以致使该快闪存储器根据这些第二子写入命令,将该第一数据段写入这些第二实体页面,其中该第一格式不等同于该第二格式。
17.根据权利要求15所述的数据写入方法,其特征在于,对该第一实体页面进行复写的步骤是以一第一写入模式对该第一实体页面进行复写,并且将该第一数据写入这些第二实体页面的步骤是以一第二写入模式,将该第一数据段写入这些第二实体页面,其中该第一写入模式不等同于该第二写入模式。
18.根据权利要求17所述的数据写入方法,其特征在于,该快闪存储器操作于多阶储存单元,该第一写入模式为一单阶储存单元写入模式,并且该第二写入模式为一多阶储存单元写入模式。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462089982P | 2014-12-10 | 2014-12-10 | |
US62/089,982 | 2014-12-10 | ||
TW104126212A TWI561984B (en) | 2014-12-10 | 2015-08-12 | Data storage device and data writing method thereof |
TW104126212 | 2015-08-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105701021A true CN105701021A (zh) | 2016-06-22 |
CN105701021B CN105701021B (zh) | 2021-03-02 |
Family
ID=56111195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510565645.4A Active CN105701021B (zh) | 2014-12-10 | 2015-09-08 | 数据储存装置及其数据写入方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20160170671A1 (zh) |
CN (1) | CN105701021B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI720400B (zh) * | 2019-01-04 | 2021-03-01 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
CN112992231A (zh) * | 2017-02-02 | 2021-06-18 | 慧荣科技股份有限公司 | 数据储存装置以及参数改写方法 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9652415B2 (en) | 2014-07-09 | 2017-05-16 | Sandisk Technologies Llc | Atomic non-volatile memory data transfer |
US9696918B2 (en) * | 2014-07-13 | 2017-07-04 | Apple Inc. | Protection and recovery from sudden power failure in non-volatile memory devices |
US9904621B2 (en) | 2014-07-15 | 2018-02-27 | Sandisk Technologies Llc | Methods and systems for flash buffer sizing |
US9645744B2 (en) | 2014-07-22 | 2017-05-09 | Sandisk Technologies Llc | Suspending and resuming non-volatile memory operations |
US9753649B2 (en) | 2014-10-27 | 2017-09-05 | Sandisk Technologies Llc | Tracking intermix of writes and un-map commands across power cycles |
US9952978B2 (en) | 2014-10-27 | 2018-04-24 | Sandisk Technologies, Llc | Method for improving mixed random performance in low queue depth workloads |
US9817752B2 (en) | 2014-11-21 | 2017-11-14 | Sandisk Technologies Llc | Data integrity enhancement to protect against returning old versions of data |
US9824007B2 (en) | 2014-11-21 | 2017-11-21 | Sandisk Technologies Llc | Data integrity enhancement to protect against returning old versions of data |
US9647697B2 (en) | 2015-03-16 | 2017-05-09 | Sandisk Technologies Llc | Method and system for determining soft information offsets |
US9645765B2 (en) | 2015-04-09 | 2017-05-09 | Sandisk Technologies Llc | Reading and writing data at multiple, individual non-volatile memory portions in response to data transfer sent to single relative memory address |
US9753653B2 (en) | 2015-04-14 | 2017-09-05 | Sandisk Technologies Llc | High-priority NAND operations management |
US9864545B2 (en) | 2015-04-14 | 2018-01-09 | Sandisk Technologies Llc | Open erase block read automation |
US10372529B2 (en) | 2015-04-20 | 2019-08-06 | Sandisk Technologies Llc | Iterative soft information correction and decoding |
US9778878B2 (en) | 2015-04-22 | 2017-10-03 | Sandisk Technologies Llc | Method and system for limiting write command execution |
US9870149B2 (en) | 2015-07-08 | 2018-01-16 | Sandisk Technologies Llc | Scheduling operations in non-volatile memory devices using preference values |
US9715939B2 (en) * | 2015-08-10 | 2017-07-25 | Sandisk Technologies Llc | Low read data storage management |
US10228990B2 (en) | 2015-11-12 | 2019-03-12 | Sandisk Technologies Llc | Variable-term error metrics adjustment |
US10126970B2 (en) | 2015-12-11 | 2018-11-13 | Sandisk Technologies Llc | Paired metablocks in non-volatile storage device |
US9837146B2 (en) | 2016-01-08 | 2017-12-05 | Sandisk Technologies Llc | Memory system temperature management |
US10732856B2 (en) | 2016-03-03 | 2020-08-04 | Sandisk Technologies Llc | Erase health metric to rank memory portions |
US10481830B2 (en) | 2016-07-25 | 2019-11-19 | Sandisk Technologies Llc | Selectively throttling host reads for read disturbs in non-volatile memory system |
CN109979508A (zh) * | 2019-03-15 | 2019-07-05 | 合肥沛睿微电子股份有限公司 | 固态硬盘装置与相关的固态硬盘控制电路 |
US10922010B2 (en) * | 2019-03-25 | 2021-02-16 | Micron Technology, Inc. | Secure data removal |
CN114489488A (zh) * | 2021-12-29 | 2022-05-13 | 山东云海国创云计算装备产业创新中心有限公司 | 数据读写方法、nand控制器及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279809A (zh) * | 2011-08-10 | 2011-12-14 | 郏惠忠 | 一种在固态硬盘中重定向写入及垃圾回收的方法 |
CN102592670A (zh) * | 2011-01-07 | 2012-07-18 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
US20120265925A1 (en) * | 2011-04-12 | 2012-10-18 | Hitachi, Ltd. | Semiconductor device and method of controlling non-volatile memory device |
CN102890655A (zh) * | 2011-07-20 | 2013-01-23 | 群联电子股份有限公司 | 存储器储存装置、其存储器控制器与有效数据识别方法 |
TW201324145A (zh) * | 2011-12-15 | 2013-06-16 | Phison Electronics Corp | 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置 |
US20140006740A1 (en) * | 2012-06-27 | 2014-01-02 | Hitachi, Ltd. | Management system and management method |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1088218C (zh) * | 1999-11-14 | 2002-07-24 | 邓国顺 | 用于数据处理***的快闪电子式外存储方法及其装置 |
US7062602B1 (en) * | 2001-04-09 | 2006-06-13 | Matrix Semiconductor, Inc. | Method for reading data in a write-once memory device using a write-many file system |
US7636724B2 (en) * | 2001-08-31 | 2009-12-22 | Peerify Technologies LLC | Data storage system and method by shredding and deshredding |
EP1738256B1 (en) * | 2004-03-15 | 2018-05-02 | Red Bend Ltd. | Method and apparatus for reliably updating a stored version of content |
US8578359B2 (en) * | 2004-03-15 | 2013-11-05 | Red Bend Ltd. | Method and apparatus for reliable in-place update |
JP5057519B2 (ja) * | 2004-06-01 | 2012-10-24 | レッド・ベンド・リミテツド | 記憶装置に記憶されたコンテンツをインプレース更新するための方法およびシステム |
US7464216B2 (en) * | 2006-09-29 | 2008-12-09 | Sandisk Corporation | Method for phased garbage collection with state indicators |
KR100874702B1 (ko) * | 2006-10-02 | 2008-12-18 | 삼성전자주식회사 | 플래시 메모리 파일 시스템을 효율적으로 관리하기 위한장치 드라이버 및 방법 |
KR100845137B1 (ko) * | 2006-10-02 | 2008-07-09 | 삼성전자주식회사 | 메모리 장치의 배드 블록 주소를 번역하는 방법, 메모리장치의 배드 블록 주소를 번역하는 장치 및 이를 포함하는메모리 장치 컨트롤러 |
JP4912174B2 (ja) * | 2007-02-07 | 2012-04-11 | 株式会社日立製作所 | ストレージシステム及び記憶管理方法 |
US7870122B2 (en) * | 2007-04-23 | 2011-01-11 | Microsoft Corporation | Self-tuning index for flash-based databases |
US8037112B2 (en) * | 2007-04-23 | 2011-10-11 | Microsoft Corporation | Efficient access of flash databases |
US7856522B2 (en) * | 2007-05-16 | 2010-12-21 | Oracle International Corporation | Flash-aware storage optimized for mobile and embedded DBMS on NAND flash memory |
US8024545B2 (en) * | 2007-10-19 | 2011-09-20 | Inha-Industry Partnership Institute | Efficient prefetching and asynchronous writing for flash memory |
CN101632068B (zh) * | 2007-12-28 | 2015-01-14 | 株式会社东芝 | 半导体存储装置 |
US8397014B2 (en) * | 2008-02-04 | 2013-03-12 | Apple Inc. | Memory mapping restore and garbage collection operations |
US8065304B2 (en) * | 2008-06-11 | 2011-11-22 | International Business Machines Corporation | Using asymmetric memory |
WO2010016058A2 (en) * | 2008-08-04 | 2010-02-11 | Red Bend Ltd. | Performing an in-place update of an operating storage device |
US8825719B2 (en) * | 2008-10-30 | 2014-09-02 | Microsoft Corporation | Incremental lock-free stack scanning for garbage collection |
KR100929371B1 (ko) * | 2009-03-18 | 2009-12-02 | 한국과학기술원 | 페이지-디퍼런셜을 이용하여 dbms에 독립적인 방법으로 플래시 메모리에 데이터를 저장하는 방법 |
US8977805B2 (en) * | 2009-03-25 | 2015-03-10 | Apple Inc. | Host-assisted compaction of memory blocks |
US8364924B2 (en) * | 2009-10-21 | 2013-01-29 | International Business Machines Corporation | Achieving a high throughput in a storage cache application using a flash solid state disk |
DE112010004863B4 (de) * | 2009-12-17 | 2019-10-10 | International Business Machines Corporation | Datenverwaltung in Festkörperspeichersystemen |
US8677203B1 (en) * | 2010-01-11 | 2014-03-18 | Apple Inc. | Redundant data storage schemes for multi-die memory systems |
JP5060574B2 (ja) * | 2010-03-16 | 2012-10-31 | 株式会社東芝 | メモリシステム |
KR101293225B1 (ko) * | 2011-04-01 | 2013-08-05 | (주)아토솔루션 | 메모리 및 메모리 읽기 방법 |
KR101293224B1 (ko) * | 2011-04-01 | 2013-08-05 | (주)아토솔루션 | 데이터 기록 방법. 메모리, 및 메모리 기록 시스템 |
US9037786B2 (en) * | 2011-09-23 | 2015-05-19 | Avalanche Technology, Inc. | Storage system employing MRAM and array of solid state disks with integrated switch |
US8909855B2 (en) * | 2012-08-08 | 2014-12-09 | Avalanche Technology, Inc. | Storage system employing MRAM and physically addressed solid state disk |
US9009396B2 (en) * | 2011-09-23 | 2015-04-14 | Avalanche Technology, Inc. | Physically addressed solid state disk employing magnetic random access memory (MRAM) |
KR101832934B1 (ko) * | 2012-01-27 | 2018-02-28 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템, 그것의 블록 관리 방법, 프로그램 방법 및 소거 방법 |
US9165005B2 (en) * | 2012-02-24 | 2015-10-20 | Simplivity Corporation | Method and apparatus utilizing non-uniform hash functions for placing records in non-uniform access memory |
US20150222705A1 (en) * | 2012-09-06 | 2015-08-06 | Pi-Coral, Inc. | Large-scale data storage and delivery system |
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 |
US8547745B1 (en) * | 2012-11-16 | 2013-10-01 | Avalanche Technology, Inc. | Host-managed logical mass storage device using magnetic random access memory (MRAM) |
KR20140078893A (ko) * | 2012-12-18 | 2014-06-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치의 동작 방법 |
US8929146B1 (en) * | 2013-07-26 | 2015-01-06 | Avalanche Technology, Inc. | Controller management of memory array of storage device using magnetic random access memory (MRAM) |
KR102116702B1 (ko) * | 2013-09-27 | 2020-05-29 | 삼성전자 주식회사 | 데이터 미러링 제어 장치 및 방법 |
US9417816B2 (en) * | 2014-01-02 | 2016-08-16 | Advanced Micro Devices, Inc. | Partitionable memory interfaces |
-
2015
- 2015-09-08 CN CN201510565645.4A patent/CN105701021B/zh active Active
- 2015-11-19 US US14/945,803 patent/US20160170671A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102592670A (zh) * | 2011-01-07 | 2012-07-18 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
US20120265925A1 (en) * | 2011-04-12 | 2012-10-18 | Hitachi, Ltd. | Semiconductor device and method of controlling non-volatile memory device |
CN102890655A (zh) * | 2011-07-20 | 2013-01-23 | 群联电子股份有限公司 | 存储器储存装置、其存储器控制器与有效数据识别方法 |
CN102279809A (zh) * | 2011-08-10 | 2011-12-14 | 郏惠忠 | 一种在固态硬盘中重定向写入及垃圾回收的方法 |
TW201324145A (zh) * | 2011-12-15 | 2013-06-16 | Phison Electronics Corp | 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置 |
US20140006740A1 (en) * | 2012-06-27 | 2014-01-02 | Hitachi, Ltd. | Management system and management method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112992231A (zh) * | 2017-02-02 | 2021-06-18 | 慧荣科技股份有限公司 | 数据储存装置以及参数改写方法 |
TWI720400B (zh) * | 2019-01-04 | 2021-03-01 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
Also Published As
Publication number | Publication date |
---|---|
US20160170671A1 (en) | 2016-06-16 |
CN105701021B (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105701021A (zh) | 数据储存装置及其数据写入方法 | |
US8312554B2 (en) | Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus | |
US9268687B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US8510502B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
US7773420B2 (en) | Memory card system including NAND flash memory and SRAM/NOR flash memory, and data storage method thereof | |
CN109753234B (zh) | 存储器***及非易失性存储器的控制方法 | |
US9037814B2 (en) | Flash memory management method and flash memory controller and storage system using the same | |
US20120198131A1 (en) | Data writing method for rewritable non-volatile memory, and memory controller and memory storage apparatus using the same | |
US9122583B2 (en) | Memory controller and memory storage device and data writing method | |
US8694748B2 (en) | Data merging method for non-volatile memory module, and memory controller and memory storage device using the same | |
WO2007000862A1 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法 | |
US10168951B2 (en) | Methods for accessing data in a circular block mode and apparatuses using the same | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
US9378130B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
CN107045423B (zh) | 存储器装置及其数据存取方法 | |
US20140089566A1 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
US8762685B2 (en) | Data writing method, memory controller and memory storage apparatus | |
US9501397B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
US9798470B2 (en) | Memory system for storing and processing translation information | |
US8589620B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
CN109522237B (zh) | 存储器的数据管理方法及存储器装置 | |
TW201621668A (zh) | 資料儲存裝置及其資料寫入方法 | |
US7899974B2 (en) | Nonvolatile memory, mapping control apparatus and method of the same | |
US9830077B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus |
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 |