CN111414311B - 数据存储装置、其操作方法及其控制器 - Google Patents
数据存储装置、其操作方法及其控制器 Download PDFInfo
- Publication number
- CN111414311B CN111414311B CN201910961512.7A CN201910961512A CN111414311B CN 111414311 B CN111414311 B CN 111414311B CN 201910961512 A CN201910961512 A CN 201910961512A CN 111414311 B CN111414311 B CN 111414311B
- Authority
- CN
- China
- Prior art keywords
- physical
- address
- read
- addresses
- data
- 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.)
- Active
Links
Images
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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/061—Improving I/O performance
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0656—Data buffering arrangements
-
- 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/0658—Controller construction arrangements
-
- 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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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/7206—Reconfiguration of flash memory system
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及一种数据存储装置,该数据存储装置可包括:存储装置,将数据存储在分别分配有物理地址的多个物理存储空间中;以及控制器,控制该存储装置,其中控制器包括将由主机管理的逻辑地址与物理地址相对应的映射表,并且其中控制器被进一步:在初次读取操作中,根据映射表从多个物理存储空间之中的、与由主机请求读取的逻辑地址相对应的物理地址的物理存储空间中读取数据;当在初次读取操作中读取的数据是经擦除数据时,通过映射表获得与所请求读取的逻辑地址相对应的正常物理地址;并且在二次读取操作中从正常物理地址的物理存储空间中读取数据。
Description
相关申请的交叉引用
本申请要求于2019年1月7日向韩国知识产权局提交的申请号为10-2019-0001695的韩国申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体涉及一种半导体集成设备,且更特别地,涉及一种数据存储装置、该数据存储装置的操作方法及该数据存储装置的控制器。
背景技术
存储装置电连接到主机装置,并且在主机装置的请求下对数据执行访问操作。便携式电子装置的存储容量已逐渐增加,以容纳更多不同类型的数据。采用相对大容量的存储介质以便基于多媒体数据来提供各种功能。基于闪速存储器的存储介质经常用于此目的。
基于闪速存储器的存储介质具有诸如大容量、非易失性、低单位成本、低功耗和高速数据处理的优点。
快速且准确地处理数据是决定数据存储装置的性能和可靠性的关键因素。为此,需要一种能够高效地操作逻辑地址与物理地址之间的映射表并且通过映射表高速访问存储介质的技术。
发明内容
在实施例中,一种数据存储装置可包括:存储装置,被配置成将数据存储在分别分配有物理地址的多个物理存储空间中;以及控制器,被配置成控制存储装置,其中控制器包括将由主机管理的逻辑地址与物理地址相对应的映射表,并且其中控制器被进一步配置成:在初次读取操作中,根据映射表从多个物理存储空间之中的、与由主机请求读取的逻辑地址相对应的物理地址的物理存储空间中读取数据;当在初次读取操作中读取的数据是经擦除数据时,通过映射表获得与所请求读取的逻辑地址相对应的正常物理地址;并且在二次读取操作中从正常物理地址的物理存储空间中读取数据。
在实施例中,一种数据存储装置的操作方法,其中该数据存储装置包括存储装置和控制器,存储装置将数据存储在分别分配有物理地址的多个物理存储空间中,控制器控制存储装置并且包括将由主机管理的逻辑地址与物理地址相对应的映射表,该数据存储装置的操作方法可包括:在由控制器执行的初次读取操作中,根据映射表,从多个物理存储空间之中的、分配有与由主机请求读取的逻辑地址相对应的物理地址的物理存储空间中读取数据;由控制器确定在初次读取操作中读取的数据是否是经擦除数据;当在初次读取操作中读取的数据是经擦除数据时,由控制器通过映射表获得与所请求读取的逻辑地址相对应的正常物理地址;并且在由控制器执行的二次读取操作中,从该正常物理地址的物理存储空间中读取数据。
在实施例中,一种控制器,控制用于将数据存储在分别分配有物理地址的多个物理存储空间中的存储装置,该控制器可包括:映射表,被配置成存储将由主机管理的逻辑地址与物理地址相对应的映射信息;异常模式检测器,被配置成确定在初次读取操作中根据映射表而从多个物理存储空间之中的、分配有与由主机请求读取的逻辑地址相对应的物理地址的物理存储空间中读取的数据是否是经擦除数据;写入模式确定组件,被配置成当在初次读取操作中读取的数据是经擦除数据时,确定映射表的物理地址之中的、映射到所请求读取的逻辑地址之前和之后的设置数量的逻辑地址的物理地址是否具有其中物理地址根据逻辑地址的顺序而顺序增加或减少的顺序模式;地址确定组件,被配置成基于写入模式确定组件的确定,获得与所请求读取的逻辑地址相对应的正常物理地址;以及读取电路,被配置成在二次读取操作中从正常物理地址的物理存储空间中读取数据。
在实施例中,一种控制器的操作方法可包括:控制存储器装置以读取由请求读取的物理地址所指示的数据;当所读取的数据是经擦除数据时,确定所请求读取的物理地址的相邻物理地址具有顺序模式还是随机模式;当确定相邻物理地址具有顺序模式时,控制存储器装置以读取在顺序模式内缺失的物理地址的数据;并且当确定相邻物理地址具有随机模式时,控制存储器装置以读取在按地址编号的顺序排列的相邻物理地址的排列模式内缺失的物理地址的数据,其中所请求读取的物理地址映射到从主机提供的请求读取的逻辑地址。
附图说明
图1是示出根据实施例的数据存储装置的配置的示图。
图2是示出根据实施例的控制器的配置的示图。
图3是示出根据实施例的中央处理单元的控制结构的示图。
图4是根据实施例的读取控制组件的配置的示图。
图5是示出根据实施例的数据存储装置的操作方法的流程图。
图6和图7是示出根据写入模式的正常物理地址搜索方法的示图。
图8是示出根据实施例的数据读取方法的流程图。
图9是示出根据实施例的数据存储系统的示图。
图10和图11是示出根据实施例的数据处理系统的示图。
图12是示出根据实施例的包括数据存储装置的网络系统的示图。
图13是示出根据实施例的数据存储装置中包括的非易失性存储器装置的框图。
具体实施方式
下面通过各个示例性实施例,参照附图更详细地描述数据存储装置、其操作方法及其控制器。在整个说明书中,对“实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
图1是示出根据实施例的数据存储装置的配置的示图。
参照图1,数据存储装置10可包括控制器110、存储装置120和缓冲存储器130。其中,存储装置也可被称为存储器装置。
控制器110可响应于主机装置的请求来控制存储装置120。例如,控制器110可在主机装置的编程(写入)请求下使得数据被编程在存储装置120中。此外,控制器110可响应于主机装置的读取请求,向主机装置提供写入在存储装置120中的数据。
存储装置120可在控制器110的控制下写入数据或输出所写入的数据。存储装置120可包括易失性存储器装置或非易失性存储器装置。在实施例中,存储装置120可使用诸如以下的各种非易失性存储器装置中的任意一种来实施:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和/或自旋转移力矩磁性RAM(STT-MRAM)。存储装置120可具有分层结构,该分层结构具有包括多个存储器单元的页面、包括至少一个页面的块、包括至少一个块的平面、包括至少一个平面的管芯等。例如,读取和写入(编程)操作可以页面为单位来执行,例如,擦除操作可以块为单位来执行。为了提高数据输入/输出速度,可根据提供合适的数据输入/输出速度来配置读取或写入数据的处理器。存储装置120可包括每个存储一位数据的单层单元或者每个存储多位数据的多层单元。
当数据存储装置10与主机装置协作输入/输出数据时,缓冲存储器130可用作能够临时存储数据的空间。
在实施例中,控制器110可包括读取控制组件20。当数据存储装置10响应于主机命令而执行读取操作,并且发生读取到异常数据或空数据的错误时,读取控制组件20可识别错误的原因并且控制读取操作来读取正常数据。
读取到异常数据的原因可能是以下原因中的一种。
表1
原因1 | 由于映射表损坏,访问到经擦除区域,而非所请求读取的区域 |
原因2 | 虽然访问到所请求读取的区域,但仍发生读取错误 |
读取控制组件20可根据映射表中存储的物理地址的状态来识别读取到异常数据的原因。当映射表损坏并且读取到异常数据时,读取控制组件20可通过搜索与所请求读取的地址相对应的正常物理地址来读取正常数据。当由于发生读取错误而读取到异常数据时,读取控制组件20可向主机装置报告这种错误的发生。
在实施例中,映射表可存储在存储装置120中,并且可当数据存储装置10通电时被加载到RAM 1153中。
图2是根据实施例的控制器的配置的示图。
参照图2,控制器110可包括中央处理单元(CPU)111、主机接口(IF)113、ROM 1151、RAM 1153、存储器接口(IF)117和读取控制组件20。
CPU 111可被配置成将对存储装置120的数据读取或写入操作所需的各种类型的控制信息传输到主机IF 113、RAM 1153和存储器IF 117。在实施例中,CPU 111可根据针对数据存储装置10的各种操作所提供的固件进行操作。在实施例中,CPU 111可执行闪存转换层(FTL)的功能以执行用于管理存储装置120的垃圾收集、地址映射、损耗均衡等,以及对从存储装置120读取的数据的错误进行检测和校正的功能,等等。
图3是示出根据实施例的CPU的控制结构的示图。
参照图3,应用程序1111可以是处理用户数据的固件。应用程序1111可响应于用户的输入而生成用于将用户数据存储在存储装置120中的命令,并且将该命令传输到文件系统1113。
文件系统1113可将用户数据存储在存储装置120中。文件系统1113可响应于来自应用程序1111的命令而分配待存储用户数据的逻辑地址。
FTL 1115可将从文件系统1113接收的逻辑地址转换成物理地址,并且将物理地址存储在映射表中。FTL 1115可通过使用映射表信息来将逻辑地址转换成物理地址或将物理地址转换成逻辑地址。在实施例中,FTL 1115可通过使用页面映射方法、块映射方法或混合映射方法来处理地址。
主机IF 113可提供用于从主机装置接收命令和时钟信号并且在CPU 111的控制下控制数据输入/输出的通信信道。特别地,主机IF 113可提供主机装置和数据存储装置10之间的物理连接。主机IF 113可与主机装置的总线格式对应地提供与数据存储装置10的接口连接。主机装置的总线格式可包括诸如以下的标准接口协议中的至少一种:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-E)和/或通用闪存(UFS)。
ROM 1151可存储控制器110的操作所需的程序代码,例如固件或软件,并且存储由程序代码所使用的代码数据等。
RAM 1153可存储从ROM 1151读取的程序代码和数据。RAM 1153可存储用于控制器110的操作的数据或由控制器110生成的数据。
存储器IF 117可提供用于控制器110与存储装置120之间的信号传送/接收的通信信道。存储器IF 117可在CPU 111的控制下将已临时存储在缓冲存储器中的数据写入存储装置120中。此外,存储器IF 117可将从存储装置120读取的数据传输到缓冲存储器以用于临时存储。
当数据存储装置10响应于主机命令而执行读取操作,并且发生读取到异常数据的错误时,读取控制组件20可识别错误的原因并且进行控制以读取正常数据。
当从主机装置接收到写入请求时,控制器110可在存储装置120中分配物理空间,以便连续到针对先前的写入请求分配的物理空间的地址以执行写入操作,并且构建得到的逻辑到物理(L2P)映射信息。因此,当待存储在L2P映射表中的物理地址按升序或降序排列时,地址可具有连续的值。
在实施例中,当用户数据通过顺序写入技术被编程时,映射到顺序连续的逻辑地址的物理地址也可具有顺序连续的值。
在实施例中,当用户数据通过随机写入技术被编程时,如果扫描映射表中的物理地址并且进行排列,则地址可具有连续的值。
因此,当读取到异常数据时,读取控制组件20可根据映射表中的物理地址的状态来识别读取到异常数据的原因。当由于映射表损坏而访问到非预期空间并且读取到异常数据时,可搜索正常物理地址并且可通过访问在搜索中找到的物理空间来读取数据。
图4是根据实施例的读取控制组件的示图。
参照图4,读取控制组件20可包括异常模式检测器201、写入模式确定组件203、地址确定组件205和读取电路207。
异常模式检测器201可确定是否从响应于主机装置的读取请求的访问区域读取到异常数据。在实施例中,异常数据可具有指示擦除状态的十六进制值“FFh”;然而,本发明不限于任何特定形式的数据表示。从已被写入有效数据的区域,可读取通过写入操作编程的有效数据。然而,从有效区域以外的、已擦除数据的区域,可读取具有十六进制值“FFh”的数据,该十六进制值“FFh”指示相应页面处于擦除状态。
当异常模式检测器201检测到读取到异常数据时,写入模式确定组件203可通过参考映射表来确定存储装置120中的与异常数据相邻的数据是被顺序写入还是被随机写入。
在实施例中,写入模式确定组件203可检测映射到在所请求读取的逻辑地址LPN_rd_req之前和之后的设置数量的逻辑地址的物理地址。当所检测的物理地址具有根据逻辑地址顺序而顺序增加或顺序减少的模式时,可确定所检测的物理地址的数据通过顺序写入方法进行编程。当所检测的物理地址不具有根据逻辑地址顺序的顺序模式时,可确定所检测的物理地址的数据通过随机写入方法进行编程。
基于写入模式确定组件203的确定结果和所请求读取的地址,地址确定组件205可搜索正常物理地址。
在实施例中,当确定所检测的物理地址的数据通过顺序写入方法编程时,包括与顺序增加或减少的逻辑地址相对应的所检测的物理地址的物理地址也需要具有顺序增加或减少的模式。因此,地址确定组件205可预测满足顺序模式的物理地址值,并且将所预测的地址值确定为与所请求读取的逻辑地址LPN_rd_req相对应的正常物理地址。
也就是说,当检测映射到在所请求读取的逻辑地址LPN_rd_req之前和之后的设置数量的逻辑地址的物理地址时,可在包括具有顺序增加或减少模式的所检测的物理地址的物理地址内搜索缺失地址。可将在搜索中找到的缺失地址确定为正常物理地址。
在实施例中,当确定所检测的物理地址的数据通过随机写入方法编程时,地址确定组件205可扫描映射表中的、除了映射到所请求读取的逻辑地址LPN_rd_req的物理地址之外的物理地址,按降序或升序排列扫描到的物理地址,并且在所排列的物理地址中搜索缺失地址。然后,地址确定组件205可将所排列的物理地址内缺失的物理地址确定为与所请求读取的逻辑地址LPN_rd_req相对应的正常物理地址。
当在所排列的物理地址内存在多个缺失地址时,地址确定组件205可从对应于缺失地址的区域读取数据,并且最终将与读取数据的元数据中包括的逻辑地址之中的、与所请求读取的逻辑地址LPN_rd_req相同的逻辑地址相对应的物理地址确定为缺失地址中的正常物理地址。
读取电路207可读取与由地址确定组件205搜索的正常物理地址相对应的区域中存储的数据,并且将所读取的数据提供到主机装置。
在实施例中,读取电路207可从存储装置120中的由主机装置请求读取的区域读取数据,确定数据的逻辑电平,并且检测和校正错误。读取电路207可基于任何适当的读取算法来读取数据。
图5是示出根据实施例的数据存储装置的操作方法的流程图。
参照图5,当主机装置向数据存储装置10传送读取命令和逻辑地址LPN_rd_req(S101)时,读取控制组件20可通过访问由根据映射表而与所请求读取的逻辑地址LPN_rd_req相对应的物理地址指示的区域来读取数据(S103)。然后,读取控制组件20可确定读取数据是否是异常数据(S105)。
当从所请求读取的地址读取的数据是异常数据(S105中为是)时,读取控制组件20可通过参考映射表来确定与该读取数据相邻的数据的写入模式是否是顺序写入模式(S107)。
在实施例中,读取控制组件20可检测映射到在所请求读取的逻辑地址LPN_rd_req之前和之后的设置数量的逻辑地址的物理地址,并且当所检测的物理地址具有根据逻辑地址顺序而顺序增加或减少的模式时,确定所检测的物理地址的数据通过顺序写入方法进行编程。
当所检测的物理地址的数据具有顺序写入模式时,读取控制组件20可在包括具有顺序增加或减少模式的所检测的物理地址的物理地址内搜索缺失地址,并且将在搜索中找到的缺失地址确定为正常物理地址(S109)。
另一方面,当所检测的物理地址的数据不具有顺序写入模式(S107中为否)时,读取控制组件20可确定所检测的物理地址的数据的写入模式是否是随机写入模式,并且确定映射表中是否存在缺失地址(S111)。
在实施例中,读取控制组件20可扫描映射表中的物理地址,按降序或升序排列扫描到的物理地址,并且在所排列的物理地址中搜索缺失地址。
然后,读取控制组件20可将所排列的物理地址内缺失的物理地址确定为与所请求读取的逻辑地址LPN_rd_req相对应的正常物理地址。
当在所排列的物理地址内存在多个缺失地址时,读取控制组件20可从对应于缺失地址的区域中读取数据,并且由此将与读取数据的元数据中的逻辑地址之中的、与所请求读取的逻辑地址LPN_rd_req相同的逻辑地址相对应的物理地址确定为正常物理地址(S113)。
另一方面,当所检测的物理地址的数据以随机写入模式写入,但在映射表中不存在缺失地址(S111中为否)时,这指示读取到异常数据是由于发生读取错误,因此读取控制组件20可向主机装置报告发生错误(S115)。
图6和图7是示出根据写入模式的正常物理地址搜索方法的示图。
参照图6,在所检测的物理地址的数据具有顺序写入模式的背景下描述正常物理地址搜索方法。
当根据主机装置的读取请求的逻辑地址LPN_rd_req为5时,读取控制组件20可识别映射到该逻辑地址LPN_rd_req(=5)的物理地址PPN为2,并且访问存储装置120的PPN(=2)的区域以读取由PPN(=2)指示的数据。
在这种情况下,由于从存储装置120的PPN(=2)的区域读取到具有值“FFh”的异常数据,因此有必要搜索正常物理地址。
读取控制组件20可检测映射到在所请求读取的逻辑地址LPN_rd_req之前和之后的设置数量的逻辑地址的物理地址。当所检测的物理地址具有根据逻辑地址顺序而顺序增加或减少的模式时,读取控制组件20可确定所检测的物理地址的数据通过顺序写入方法进行编程。
例如,可检测映射到所请求读取的逻辑地址LPN_rd_req(=5)之前和之后的六个逻辑地址LPN 2至LPN 4以及LPN 6至LPN 8的物理地址PPN 9、PPN 10、PPN 11、PPN 13、PPN14和PPN 15。因为所检测的物理地址具有根据逻辑地址顺序而顺序增加模式,所以可确定所检测的物理地址的数据具有顺序写入模式。
另外,可在包括具有顺序增加模式的所检测的物理地址的物理地址内搜索缺失地址PPN(=12),并且将缺失地址PPN(=12)确定为正常物理地址。
参照图7,在所检测的物理地址的数据具有随机写入模式的背景下描述正常物理地址搜索方法。
当根据主机装置的读取请求的逻辑地址LPN_rd_req为14时,读取控制组件20可识别映射到该逻辑地址LPN_rd_req(=14)的物理地址PPN为124,并且访问存储装置120的PPN(=124)的区域以读取由PPN(=124)指示的数据。
在这种情况下,由于从存储装置120的PPN(=124)的区域读取到具有值“FFh”的异常数据,因此有必要搜索正常物理地址。
读取控制组件20可扫描映射表中的、除了映射到所请求读取的逻辑地址LPN_rd_req的物理地址PPN(=124)之外的物理地址,并且检测PPN 101、PPN 104、PPN 106、PPN105、PPN 103和PPN 107。然后,读取控制组件20可按降序或升序排列扫描到的物理地址,并且搜索缺失地址。例如,当将所检测的PPN 101、PPN 104、PPN 106、PPN 105、PPN 103和PPN107按升序排列时,物理地址可排列为101、103、104、105、106和107,并且可在所排列的PPN内搜索和找到缺失的物理地址PPN(=102)。因此,可将在搜索中找到的物理地址PPN(=102)确定为与所请求读取的逻辑地址LPN_rd_req相对应的正常物理地址。
重新参照图5,作为步骤S105的确认结果,当读取到异常数据时,读取控制组件20可通过步骤S109预测正常物理地址,通过步骤S113确定正常物理地址,然后通过步骤S200执行设置的读取算法。
图8是示出根据实施例的数据读取方法的流程图。
在实施例中,可执行正常读取操作,以通过使用设置的初始读取偏压来确定从存储装置120读取的数据的电平(S201)。
作为执行正常读取操作的结果,可确定读取操作是否已失败(S203)。读取操作的失败可表示不可能校正读取数据的错误。
当读取操作已失败(S203中为是)时,读取控制组件20可改变读取偏压(S205)。为了改变读取偏压,可使用先前读取偏压的历史读取偏压表;然而,本实施例不限于此。历史读取偏压表中的读取偏压可以是在先前成功的读取操作中使用的那些读取偏压。
当读取偏压改变时,读取控制组件20可利用所改变的读取偏压来重试读取操作(S207)。作为读取重试的结果,读取控制组件20可确认读取重试是否已失败(S209),并且当读取重试成功时存储所改变的读取偏压(S211)。
另一方面,当读取重试已失败时,可再次执行改变读取偏压的步骤S205。
根据图8所示的读取方案,因为读取电压是基于在成功的过去读取操作中已施加的读取偏压来确定的,因此有利地增加了校正读取数据中的错误的可能性。
图9是示出根据实施例的数据存储系统1000的示图。
参照图9,数据存储系统1000可包括主机装置1100和数据存储装置1200。在实施例中,数据存储装置1200可被配置成固态驱动器(SSD)。
数据存储装置1200可包括控制器1210、多个非易失性存储器装置1220-0至1220-n、缓冲存储器装置1230、电源1240、信号连接器1101和电源连接器1103。
控制器1210可控制数据存储装置1200的一般操作。控制器1210可包括主机接口、控制组件、用作工作存储器的随机存取存储器、错误校正码(ECC)组件和存储器接口。在实施例中,控制器1210可被配置成图1至图4所示的控制器110。
主机装置1100可通过信号连接器1101与数据存储装置1200交换信号。该信号可包括命令、地址、数据和相关信息。
控制器1210可分析和处理从主机装置1100接收的信号。控制器1210可根据用于驱动数据存储装置1200的固件或软件来控制内部功能块的操作。
缓冲存储器装置1230可临时存储待存储在非易失性存储器装置1220-0至1220-n的至少一个中的数据。此外,缓冲存储器装置1230可临时存储从非易失性存储器装置1220-0至1220-n中的至少一个读取的数据。根据控制器1210的控制,临时存储在缓冲存储器装置1230中的数据可被传送到主机装置1100或非易失性存储器装置1220-0至1220-n中的至少一个。
非易失性存储器装置1220-0至1220-n可用作数据存储装置1200的存储介质。非易失性存储器装置1220-0至1220-n可分别通过多个信道CH0至CHn与控制器1210联接。一个或多个非易失性存储器装置可联接到一个信道。联接到相同信道的非易失性存储器装置可联接到相同的信号总线和数据总线。
电源1240可将通过电源连接器1103输入的电力提供到数据存储装置1200的内部。电源1240可包括辅助电源。辅助电源可供应电力以允许数据存储装置1200在发生突然断电时正确地终止。辅助电源可包括足以存储所需电荷的大容量电容器。
信号连接器1101可根据主机装置1100与数据存储装置1200之间的接口方案而被配置成各种类型的连接器中的任意一种。
电源连接器1103可根据主机装置1100的供电方案而被配置成各种类型的连接器中的任意一种。
图10是示出根据实施例的数据处理系统3000的示图。参照图10,数据处理系统3000可包括主机装置3100和存储器系统3200。
主机装置3100可以诸如印刷电路板的板的形式来配置。尽管未示出,但主机装置3100可包括用于执行主机装置的功能的内部功能块。
主机装置3100可包括诸如插座、插槽或连接器的连接端子3110。存储器系统3200可配合到连接端子3110。
存储器系统3200可以诸如印刷电路板的板的形式来配置。存储器系统3200可被称为存储器模块或存储卡。存储器系统3200可包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可控制存储器系统3200的一般操作。控制器3210可以与图1至图4所示的控制器110相同的方式来配置。
缓冲存储器装置3220可临时存储待存储在非易失性存储器装置3231和3232中的数据。进一步地,缓冲存储器装置3220可临时存储从非易失性存储器装置3231和3232读取的数据。根据控制器3210的控制,被临时存储在缓冲存储器装置3220中的数据可被传送到主机装置3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可用作存储器系统3200的存储介质。
PMIC 3240可将通过连接端子3250输入的电力提供到存储器系统3200的内部。PMIC 3240可根据控制器3210的控制来管理存储器系统3200的电力。
连接端子3250可联接到主机装置3100的连接端子3110。通过连接端子3250,可在主机装置3100与存储器系统3200之间传输诸如命令、地址、数据等的信号和电力。连接端子3250可根据主机装置3100与存储器系统3200之间的接口连接方案而被配置成各种类型中的任意一种。如图所示,连接端子3250可被设置在存储器系统3200的一侧上。
图11是示出根据实施例的数据处理系统4000的示图。参照图11,数据处理系统4000可包括主机装置4100和存储器系统4200。
主机装置4100可以诸如印刷电路板的板的形式来配置。尽管未示出,但主机装置4100可包括用于执行主机装置的功能的内部功能块。
存储器系统4200可以表面安装型封装的形式来配置。存储器系统4200可通过焊球4250而安装到主机装置4100。存储器系统4200可包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可控制存储器系统4200的一般操作。控制器4210可以与图1至图4所示的控制器110相同的方式来配置。
缓冲存储器装置4220可临时存储待存储在非易失性存储器装置4230中的数据。进一步地,缓冲存储器装置4220可临时存储从非易失性存储器装置4230读取的数据。根据控制器4210的控制,临时存储在缓冲存储器装置4220中的数据可被传送到主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可用作存储器系统4200的存储介质。
图12是示出根据实施例的包括数据存储装置的网络系统5000的示图。参照图12,网络系统5000可包括通过网络5500联接的服务器系统5300和多个客户端系统5410、5420和5430。
服务器系统5300可响应于来自多个客户端系统5410至5430的请求来服务数据。例如,服务器系统5300可存储由多个客户端系统5410至5430提供的数据。再例如,服务器系统5300可将数据提供到多个客户端系统5410至5430。
服务器系统5300可包括主机装置5100和存储器系统5200。存储器系统5200可被配置成图1所示的数据存储装置10、图9所示的数据存储装置1200、图10所示的存储器系统3200或图11所示的存储器系统4200。
图13是示出根据实施例的诸如数据存储装置10的数据存储装置中包括的非易失性存储器装置300的框图。参照图13,非易失性存储器装置300可包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压生成器350和控制逻辑360。
存储器单元阵列310可包括布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域处的存储器单元MC。
存储器单元阵列310可包括三维存储器阵列。例如,三维存储器阵列具有垂直于半导体衬底的平坦表面延伸的堆叠结构。此外,三维存储器阵列表示包括NAND串的结构,其中NAND串中包括的存储器单元垂直于半导体衬底的平坦表面堆叠。
三维存储器阵列的结构不限于上述实施例。可以以具有水平方向性以及垂直方向性的高度集成方式来形成存储器阵列结构。在实施例中,在三维存储器阵列的NAND串中,存储器单元在相对于半导体衬底的表面的水平和垂直方向上布置。存储器单元可被不同地间隔开,以提供不同的集成度。
行解码器320可通过字线WL1至WLm而与存储器单元阵列310联接。行解码器320可根据控制逻辑360的控制来操作。行解码器320可对由外部装置(未示出)提供的地址进行解码。行解码器320可基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器320可将由电压生成器350提供的字线电压提供到字线WL1至WLm。
数据读取/写入块330可通过位线BL1至BLn与存储器单元阵列310联接。数据读取/写入块330可包括分别对应于位线BL1至BLn的读取/写入电路RW1至RWn。数据读取/写入块330可根据控制逻辑360的控制来操作。数据读取/写入块330可根据操作模式作为写入驱动器或读出放大器来操作。例如,在写入操作中,数据读取/写入块330可作为写入驱动器来操作,该写入驱动器将由外部装置提供的数据存储在存储器单元阵列310中。再例如,在读取操作中,数据读取/写入块330可作为读出放大器来操作,该读出放大器从存储器单元阵列310读出数据。
列解码器340可根据控制逻辑360的控制来操作。列解码器340可对由外部装置提供的地址进行解码。列解码器340可基于解码结果,来将分别对应于位线BL1至BLn的数据读取/写入块330的读取/写入电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器联接。
电压生成器350可生成将用于非易失性存储器装置300的内部操作的电压。通过电压生成器350生成的电压可被施加到存储器单元阵列310的存储器单元。例如,在编程操作中生成的编程电压可被施加到待执行编程操作的存储器单元的字线。再例如,在擦除操作中生成的擦除电压可被施加到待执行擦除操作的存储器单元的阱区域。又例如,在读取操作中生成的读取电压可被施加到待执行读取操作的存储器单元的字线。
控制逻辑360可基于由外部装置提供的控制信号来控制非易失性存储器装置300的一般操作。例如,控制逻辑360可控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。
虽然上面已经描述了各个实施例,但是本领域技术人员根据本公开将理解的是,所描述的实施例仅为示例。因此,本发明不限于所描述的实施例。而是,本发明涵盖落入权利要求范围内的所有修改和变型。
Claims (14)
1.一种数据存储装置,包括:
存储装置,将数据存储在分别分配有物理地址的多个物理存储空间中;以及
控制器,控制所述存储装置,
其中所述控制器包括将由主机管理的逻辑地址与所述物理地址相对应的映射表,并且
其中所述控制器进一步:
在初次读取操作中,根据所述映射表从所述多个物理存储空间之中的、与由所述主机请求读取的逻辑地址相对应的物理地址的物理存储空间中读取数据;
当在所述初次读取操作中读取的数据是经擦除数据时,通过所述映射表获得与所请求读取的逻辑地址相对应的正常物理地址;并且
在二次读取操作中,从所述正常物理地址的物理存储空间中读取数据,
其中所述控制器进一步:
在所述映射表中搜索映射到所请求读取的逻辑地址的相邻逻辑地址的物理地址,
搜索映射到相邻逻辑地址的物理地址内的缺失地址,并且
将所述缺失地址确定为所述正常物理地址。
2.根据权利要求1所述的数据存储装置,
其中所述控制器进一步检测所述映射表的物理地址之中的、映射到在所请求读取的逻辑地址之前和之后的设置数量的逻辑地址的物理地址,并且
其中当所检测的物理地址具有顺序模式时,所述控制器获得具有所述顺序模式的所述物理地址中的所述缺失地址作为所述正常物理地址,在所述顺序模式中所述物理地址根据所述逻辑地址的顺序而顺序增加或减少。
3.根据权利要求1所述的数据存储装置,
其中所述控制器进一步:
检测所述映射表的物理地址之中的、映射到所请求读取的逻辑地址之前和之后的设置数量的逻辑地址的物理地址;
当所检测的物理地址不具有顺序模式时,将所述映射表中的、除了映射到所请求读取的逻辑地址的物理地址之外的物理地址进行排列,在所述顺序模式中所述物理地址根据所述逻辑地址的顺序而顺序增加或减少;并且
在所排列的物理地址内搜索所述缺失地址,并且将所述缺失地址确定为所述正常物理地址。
4.根据权利要求1所述的数据存储装置,其中所述控制器进一步:
检测所述映射表的物理地址之中的、映射到所请求读取的逻辑地址之前和之后的设置数量的逻辑地址的物理地址;
当所检测的物理地址不具有顺序模式时,将所述映射表中的、除了映射到所请求读取的逻辑地址的物理地址之外的物理地址进行排列,在所述顺序模式中所述物理地址根据所述逻辑地址的顺序而顺序增加或减少;
在所排列的物理地址内搜索所述缺失地址;并且
当不存在所述缺失地址时,向所述主机报告读取错误的发生。
5.一种数据存储装置的操作方法,所述数据存储装置包括存储装置和控制器,所述存储装置将数据存储在分别分配有物理地址的多个物理存储空间中,所述控制器控制所述存储装置并且包括将由主机管理的逻辑地址与所述物理地址相对应的映射表,所述操作方法包括:
在由所述控制器执行的初次读取操作中,根据所述映射表,从所述多个物理存储空间之中的、分配有与由所述主机请求读取的逻辑地址相对应的物理地址的物理存储空间中读取数据;
由所述控制器确定在所述初次读取操作中读取的数据是否是经擦除数据;
当在所述初次读取操作中读取的数据是经擦除数据时,由所述控制器通过所述映射表获得与所请求读取的逻辑地址相对应的正常物理地址;并且
在由所述控制器执行的二次读取操作中,从所述正常物理地址的物理存储空间中读取数据,
其中所述操作方法进一步包括:
通过所述控制器在所述映射表中搜索映射到所请求读取的逻辑地址的相邻逻辑地址的物理地址,
通过所述控制器搜索映射到相邻逻辑地址的物理地址内的缺失地址,并且
通过所述控制器将所述缺失地址确定为所述正常物理地址。
6.根据权利要求5所述的操作方法,进一步包括由所述控制器检测所述映射表的物理地址之中的、映射到所请求读取的逻辑地址之前和之后的设置数量的逻辑地址的物理地址,
其中当所检测的物理地址具有顺序模式时,所述控制器获得具有所述顺序模式的物理地址中的所述缺失地址作为所述正常物理地址,在所述顺序模式中所述物理地址根据所述逻辑地址的顺序而顺序增加或减少。
7.根据权利要求5所述的操作方法,进一步包括:
由所述控制器检测所述映射表的物理地址之中的、映射到所请求读取的逻辑地址之前和之后的设置数量的逻辑地址的物理地址;
当所检测的物理地址不具有所述物理地址根据所述逻辑地址的顺序而顺序增加或减少的顺序模式时,由所述控制器将所述映射表中的、除了映射到所请求读取的所述逻辑地址的物理地址之外的物理地址进行排列;并且
由所述控制器在所排列的物理地址内搜索所述缺失地址,并且
其中所述控制器将所述缺失地址确定为所述正常物理地址。
8.根据权利要求5所述的操作方法,进一步包括:
由所述控制器检测所述映射表的物理地址之中的、映射到所请求读取的逻辑地址之前和之后的设置数量的逻辑地址的物理地址;
当所检测的物理地址不具有所述物理地址根据所述逻辑地址的顺序而顺序增加或减少的顺序模式时,由所述控制器将所述映射表中的、除了映射到所请求读取的逻辑地址的物理地址之外的物理地址进行排列;
由所述控制器在所排列的物理地址内搜索所述缺失地址;并且
当不存在所述缺失地址时,由所述控制器向所述主机报告读取错误的发生。
9.一种控制器,所述控制器控制存储装置,所述存储装置将数据存储在分别分配有物理地址的多个物理存储空间中,所述控制器包括:
映射表,存储将由主机管理的逻辑地址与所述物理地址相对应的映射信息;
异常模式检测器,确定在初次读取操作中根据所述映射表而从所述多个物理存储空间之中的、分配有与由所述主机请求读取的逻辑地址相对应的物理地址的物理存储空间中读取的数据是否是经擦除数据;
写入模式确定组件,当在所述初次读取操作中读取的数据是所述经擦除数据时,确定所述映射表的物理地址之中的、映射到所请求读取的逻辑地址之前和之后的设置数量的逻辑地址的物理地址是否具有顺序模式,在所述顺序模式中所述物理地址根据所述逻辑地址的顺序而顺序增加或减少;
地址确定组件,基于所述写入模式确定组件的确定,获得与所请求读取的逻辑地址相对应的正常物理地址;以及
读取电路,在二次读取操作中从所述正常物理地址的物理存储空间中读取数据。
10.根据权利要求9所述的控制器,
其中所述写入模式确定组件在所述映射表中搜索映射到所请求读取的逻辑地址的相邻逻辑地址的物理地址,并且
其中所述地址确定组件获得与所请求读取的逻辑地址相对应的所述正常物理地址。
11.根据权利要求10所述的控制器,
其中所述写入模式确定组件进一步检测所述映射表的物理地址之中的、映射到所请求读取的逻辑地址之前和之后的设置数量的逻辑地址的物理地址,并且
其中当所检测的物理地址具有顺序模式时,所述地址确定组件获得具有所述顺序模式的物理地址中的缺失地址作为所述正常物理地址,在所述顺序模式中所述物理地址根据所述逻辑地址的顺序而顺序增加或减少。
12.根据权利要求10所述的控制器,
其中所述写入模式确定组件进一步检测所述映射表的物理地址之中的、映射到所请求读取的逻辑地址之前和之后的设置数量的逻辑地址的物理地址,
其中所述地址确定组件进一步:
当所检测的物理地址不具有所述顺序模式时,将所述映射表中的、除了映射到所请求读取的逻辑地址的物理地址之外的物理地址进行排列;并且
在所排列的物理地址内搜索缺失地址,并且
其中所述地址确定组件获得所述缺失地址作为所述正常物理地址。
13.根据权利要求12所述的控制器,其中所述地址确定组件进一步:当不存在所述缺失地址时,向所述主机报告读取错误的发生。
14.一种控制器的操作方法,所述操作方法包括:
控制存储器装置以读取由请求读取的物理地址所指示的数据;
当所读取的数据是经擦除数据时,确定所请求读取的物理地址的相邻物理地址具有顺序模式还是随机模式;
当确定所述相邻物理地址具有所述顺序模式时,控制所述存储器装置以读取在所述顺序模式内缺失的物理地址的数据;并且
当确定所述相邻物理地址具有所述随机模式时,控制所述存储器装置以读取在按地址编号的顺序排列的所述相邻物理地址的排列模式内缺失的物理地址的数据,
其中所请求读取的物理地址映射到从主机提供的请求读取的逻辑地址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0001695 | 2019-01-07 | ||
KR1020190001695A KR20200085510A (ko) | 2019-01-07 | 2019-01-07 | 데이터 저장 장치 및 동작 방법과, 이를 위한 컨트롤러 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111414311A CN111414311A (zh) | 2020-07-14 |
CN111414311B true CN111414311B (zh) | 2023-07-14 |
Family
ID=71404289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910961512.7A Active CN111414311B (zh) | 2019-01-07 | 2019-10-11 | 数据存储装置、其操作方法及其控制器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11176048B2 (zh) |
KR (1) | KR20200085510A (zh) |
CN (1) | CN111414311B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210079555A (ko) * | 2019-12-20 | 2021-06-30 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 |
KR20210113743A (ko) * | 2020-03-09 | 2021-09-17 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 |
CN112925481B (zh) * | 2021-03-09 | 2024-04-05 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999003680A1 (en) * | 1997-07-15 | 1999-01-28 | Silverbrook Research Pty. Limited | A field acutated ink jet |
CN102576330A (zh) * | 2009-06-12 | 2012-07-11 | 提琴存储器公司 | 具有持久化无用单元收集机制的存储系统 |
CN106205702A (zh) * | 2015-05-26 | 2016-12-07 | 桑迪士克科技有限责任公司 | 对编程故障自动响应的非易失性存储装置 |
CN107870868A (zh) * | 2016-09-22 | 2018-04-03 | 三星电子株式会社 | 存储装置和存储系统 |
CN108073470A (zh) * | 2016-11-07 | 2018-05-25 | 三星电子株式会社 | 执行地址映射表的纠错的存储器系统及其控制方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4047908B2 (ja) * | 2004-01-19 | 2008-02-13 | トレック・2000・インターナショナル・リミテッド | メモリアドレスマッピングテーブルを使用するポータブルデータ記憶デバイス |
KR100706242B1 (ko) * | 2005-02-07 | 2007-04-11 | 삼성전자주식회사 | 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법 |
US20070106849A1 (en) * | 2005-11-04 | 2007-05-10 | Sun Microsystems, Inc. | Method and system for adaptive intelligent prefetch |
US9501392B1 (en) * | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
US9164676B2 (en) * | 2011-11-30 | 2015-10-20 | International Business Machines Corporation | Storing multi-stream non-linear access patterns in a flash based file-system |
IN2014DN05977A (zh) * | 2012-02-08 | 2015-06-26 | Hitachi Ltd | |
KR102117929B1 (ko) | 2013-09-10 | 2020-06-02 | 에스케이하이닉스 주식회사 | 데이터 저장 시스템 및 그것의 동작 방법 |
KR20160024546A (ko) * | 2014-08-26 | 2016-03-07 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20160104387A (ko) * | 2015-02-26 | 2016-09-05 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR102661020B1 (ko) * | 2016-11-07 | 2024-04-24 | 삼성전자주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
KR20180080589A (ko) * | 2017-01-04 | 2018-07-12 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10565123B2 (en) * | 2017-04-10 | 2020-02-18 | Western Digital Technologies, Inc. | Hybrid logical to physical address translation for non-volatile storage devices with integrated compute module |
JP2019008730A (ja) * | 2017-06-28 | 2019-01-17 | 東芝メモリ株式会社 | メモリシステム |
KR102415875B1 (ko) * | 2017-07-17 | 2022-07-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
-
2019
- 2019-01-07 KR KR1020190001695A patent/KR20200085510A/ko unknown
- 2019-09-03 US US16/559,123 patent/US11176048B2/en active Active
- 2019-10-11 CN CN201910961512.7A patent/CN111414311B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999003680A1 (en) * | 1997-07-15 | 1999-01-28 | Silverbrook Research Pty. Limited | A field acutated ink jet |
CN102576330A (zh) * | 2009-06-12 | 2012-07-11 | 提琴存储器公司 | 具有持久化无用单元收集机制的存储系统 |
CN106205702A (zh) * | 2015-05-26 | 2016-12-07 | 桑迪士克科技有限责任公司 | 对编程故障自动响应的非易失性存储装置 |
CN107870868A (zh) * | 2016-09-22 | 2018-04-03 | 三星电子株式会社 | 存储装置和存储系统 |
CN108073470A (zh) * | 2016-11-07 | 2018-05-25 | 三星电子株式会社 | 执行地址映射表的纠错的存储器系统及其控制方法 |
Non-Patent Citations (3)
Title |
---|
Proposed mechanism for learning and memory erasure in a white-noise-driven sleeping cortex;Steyn-Ross M L;《Physical Review E》;72 * |
基于分组—偏向随机游走的闪存地址映射及磨损均衡算法研究;兰佳妮;《中国优秀硕士学位论文全文数据库信息科技辑》(第01期);I137-18 * |
基于新型非易失存储器件的存储体系若干关键技术研究;步凯;《中国博士学位论文全文数据库 信息科技辑》(第02期);I137-27 * |
Also Published As
Publication number | Publication date |
---|---|
KR20200085510A (ko) | 2020-07-15 |
US11176048B2 (en) | 2021-11-16 |
CN111414311A (zh) | 2020-07-14 |
US20200218661A1 (en) | 2020-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110874188B (zh) | 数据存储装置、其操作方法以及具有其的存储系统 | |
CN111324557B (zh) | 数据存储装置、其操作方法以及包括其的存储系统 | |
CN111414311B (zh) | 数据存储装置、其操作方法及其控制器 | |
US11461177B2 (en) | Data storage device and method of operating the same | |
CN110858126A (zh) | 数据存储设备及其操作方法和具有该设备的存储系统 | |
CN111177039A (zh) | 数据存储设备、其操作方法及包括其的存储系统 | |
US11543990B2 (en) | Data storage apparatus with extended lifespan and operation method thereof | |
CN111708480B (zh) | 数据存储装置及其操作方法和控制器 | |
CN113220216A (zh) | 数据存储设备及其操作方法 | |
CN111752854A (zh) | 数据存储装置及其操作方法 | |
US20190361608A1 (en) | Data storage device and operation method for recovery, and storage system having the same | |
KR20210001501A (ko) | 데이터 저장 장치 및 이를 위한 컨트롤러와 그 동작 방법 | |
US20210333999A1 (en) | Data storage device, operation method thereof and storage system having the same | |
US20210303157A1 (en) | Electronic device, data storage device, and method of operating the same | |
US10606509B2 (en) | Data storage device managing write tag, writing operation method thereof, and storage system including the same | |
CN114791787A (zh) | 数据存储设备及其操作方法 | |
CN111708716A (zh) | 数据存储设备、具有数据存储设备的计算设备和操作方法 | |
US11847332B2 (en) | Data storage apparatus and operating method thereof | |
US11593006B2 (en) | Data storage apparatus and method for managing valid data based on bitmap table | |
US11422892B2 (en) | Data storage apparatus and operating method thereof | |
US11263127B2 (en) | Data storage device, method of operating the same, and controller for the same | |
US20220188008A1 (en) | Data storage apparatus and operation method thereof | |
CN116774917A (zh) | 存储器系统及操作存储器系统的方法 | |
CN113010092A (zh) | 数据存储设备及其操作方法 | |
CN111881061A (zh) | 数据存储装置、其控制器及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |