CN108073470B - 执行地址映射表的纠错的存储器系统及其控制方法 - Google Patents
执行地址映射表的纠错的存储器系统及其控制方法 Download PDFInfo
- Publication number
- CN108073470B CN108073470B CN201710970039.XA CN201710970039A CN108073470B CN 108073470 B CN108073470 B CN 108073470B CN 201710970039 A CN201710970039 A CN 201710970039A CN 108073470 B CN108073470 B CN 108073470B
- Authority
- CN
- China
- Prior art keywords
- address
- target
- address mapping
- physical address
- mapping 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1016—Error in accessing a memory location, i.e. addressing error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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 sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- 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
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- 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/65—Details of virtual memory and virtual address translation
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
提供一种执行地址映射表的纠错的存储器系统及其控制方法。该存储器系统包括非易失性存储器装置、被配置为存储用于访问非易失性存储器装置的地址映射表的动态随机存取存储器(DRAM)、以及控制器,控制器被配置为:将以地址映射数据为单元划分的地址映射表存储在DRAM中,每个单元具有DRAM的接口的大小;从存储的地址映射表读取与从主机接收的逻辑地址对应的目标地址映射数据,所述目标地址映射数据包括目标奇偶校验位和非易失性存储器装置的物理地址;以及使用目标奇偶校验位对读取的目标地址映射数据执行纠错。
Description
本申请要求于2016年11月7日在韩国知识产权局提交的第10-2016-0147679号韩国专利申请的优先权,该韩国专利申请的公开内容通过引用全部包含于此。
技术领域
与示例实施例一致的设备涉及一种半导体存储器装置,更具体而言,涉及一种执行地址映射表的纠错的存储器系统。
背景技术
半导体存储器装置大致分为易失性存储器装置和非易失性存储器装置。易失性存储器装置的读写速度快,但是当电源中断时存储在其中的数据消失。相反,非易失性存储器装置即使外部电力中断也保留存储在其中的数据。因此,使用非易失性存储器装置来存储不管是否供应电力都要保留的信息。作为非易失性存储器,闪存在集成度上高于传统的EEPROM,因此适用于高容量辅助存储装置。
因闪存的技术进步和有竞争力的价格,闪存正被用作用于替代硬盘驱动器(HDD)的存储介质。基于闪存的存储装置正在被制造以便用于固态驱动器、SD卡等中。存储装置包括用于控制闪存的控制器。
控制器包括管理主机中使用的逻辑地址和闪存中使用的物理地址的闪存转换层。闪存转换层管理用于将逻辑地址转换为物理地址的地址映射表。控制器可以对存储在存储装置中的数据执行错误检测和纠正。此外,控制器执行地址映射表的错误检测和纠正。
发明内容
示例实施例提供一种对用于非易失性存储器装置的地址映射表快速地执行错误检测和纠正的存储器系统,其中,地址映射表存储在动态随机存取存储器中。
根据示例实施例的方面,提供一种存储器系统,该存储器系统包括非易失性存储器装置、被配置为存储用于访问非易失性存储器装置的地址映射表的动态随机存取存储器(DRAM)、以及控制器,控制器被配置为:将以地址映射数据为单元划分的地址映射表存储在DRAM中,每个单元具有DRAM的接口的大小;从存储的地址映射表读取与从主机接收的逻辑地址对应的目标地址映射数据,所述目标地址映射数据包括目标奇偶校验位和非易失性存储器装置的物理地址;以及使用目标奇偶校验位对读取的目标地址映射数据执行纠错。
根据示例实施例的另一个方面,提供一种存储器系统,该存储器系统包括非易失性存储器装置、被配置为存储用于访问非易失性存储器装置的地址映射表的DRAM、以及控制器,控制器被配置为:将以地址映射数据为单元划分的地址映射表存储在DRAM中,每个单元具有DRAM的接口的大小;以及通过对在存储的地址映射表之中的对应于访问的目标地址映射数据执行错误检测和纠正,来访问非易失性存储器装置,所述目标地址映射数据包括非易失性存储器装置的物理地址和对应于物理地址的目标奇偶校验位。
根据示例实施例的另一个方面,提供一种控制存储器系统的方法,所述存储器系统包括非易失性存储器装置和动态随机存取存储器(DRAM),所述方法包括:从主机接收请求以将由主机使用的逻辑地址转换为非易失性存储器装置的目标物理地址;从存储在DRAM中的多条地址映射数据读取与接收的请求的逻辑地址对应的目标地址映射数据,所述目标地址映射数据包括目标奇偶校验位和非易失性存储器装置的目标物理地址;使用目标奇偶校验位来纠正在读取的目标地址映射数据中包括的目标物理地址的错误;以及输出在纠正其错误后的目标物理地址之中的对应于所述逻辑地址的目标物理地址。
附图说明
图1是示出根据示例实施例的存储器系统的框图。
图2是示出根据示例实施例的映射表纠错电路的操作的框图。
图3是示出图2的映射表纠错电路的框图。
图4是示出根据示例实施例的一条地址映射数据的图。
图5是示出根据示例实施例的存储在DRAM中的地址映射表的图。
图6是示出根据示例实施例的地址转换操作的流程图。
图7是示出图6的地址转换操作的图。
图8是示出根据示例实施例的地址写入操作的流程图。
图9是示出图8的地址写入操作的图。
图10是示出根据示例实施例的固态驱动器(SSD)系统的框图。
图11是示出根据示例实施例的通用闪存(UFS)系统的框图。
具体实施方式
图1是示出根据示例实施例的存储器系统100的框图。参照图1,存储器系统100可以包括存储器控制器110、非易失性存储器装置120和动态随机存取存储器(DRAM)130。存储器系统100可以通过输入/输出端口来与主机交换数据。存储器系统100可以响应于从主机接收的写入或读取请求而将数据存储在非易失性存储器装置120中或从非易失性存储器装置120读取数据。
控制器110提供主机与存储器系统100之间的物理连接。即,控制器110可以按照主机的总线格式来提供主机与存储器系统100之间的接口。控制器110可以驱动固件以控制存储器系统100。控制器110可以包括中央处理单元(CPU)111、工作存储器112、非易失性存储器纠错电路(NVM ECC)113、主机接口114、映射表纠错电路(MT ECC)115和非易失性存储器接口116。
CPU 111可以执行控制器110的整体操作。CPU 111可以被配置为驱动用于控制控制器110的固件。固件可以在工作存储器112上加载并驱动。CPU111可以对从主机提供的指令进行解码。CPU 111可以控制非易失性存储器纠错电路113、映射表纠错电路115和/或非易失性存储器接口116来执行包括在指令中的访问(例如,写入操作或读取操作)的命令。
用于控制控制器110的固件和数据存储在工作存储器112中。存储的固件和数据被CPU 111驱动。工作存储器112可以包括高速缓存存储器装置、DRAM装置、相变RAM(PRAM)装置和闪存装置中的任意一者或任意的组合。例如,闪存转换层FTL可以存储在工作存储器112中。
非易失性存储器装置120的读写操作可以以页为单元执行,其擦除操作可以以块为单元执行。由于非易失性存储器装置120的上述特性,管理非易失性存储器装置120的读取、写入和擦除操作。闪存转换层FTL是为了这样的目的而开发的系统软件(或固件)。闪存转换层FTL可以响应于从主机请求的访问(例如,读取或写入操作)来使非易失性存储器装置120操作。例如,闪存转换层FTL管理地址映射表AMT,其中,地址映射表AMT用于将主机中使用的逻辑地址和非易失性存储器装置120中使用的物理地址进行匹配。地址映射表AMT可以存储在DRAM 130中。闪存转换层FTL可以加载在工作存储器112上并且可以被CPU 111驱动。
非易失性存储器纠错电路113可以在写入请求下通过对存储在DRAM130中的数据进行编码来生成纠错码(error correction code)。在这种情况下,编码的数据和纠错码可以存储在非易失性存储器装置120中。非易失性存储器纠错电路113可以通过使用纠错码,对在读取请求下从非易失性存储器装置120读取的数据进行解码。这里,纠错码可以被包括在读取数据中。
主机接口114可以提供主机与存储器系统100之间的物理连接。即,主机接口114可以按照主机的总线格式提供主机与存储器系统100之间的接口。例如,主机的总线格式可以用诸如通用串行总线(USB)、多媒体卡(MMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型硬盘接口(ESDI)、电子集成驱动器(IDE)协议等的各种接口协议来实现。
映射表纠错电路115可以控制DRAM 130的读写操作。例如,映射表纠错电路115可以将从主机接收的写入数据临时存储在DRAM 130中。此外,映射表纠错电路115可以将从非易失性存储器装置120读取的读取数据临时存储在DRAM130中。
映射表纠错电路115可以对存储在DRAM 130中的地址映射表AMT执行纠错操作。例如,闪存转换层FTL可以管理用于将主机中使用的逻辑地址与非易失性存储器装置120中使用的物理地址进行匹配的地址映射表AMT。地址映射表AMT可以用于将主机中使用的逻辑地址转换为非易失性存储器装置120中使用的物理地址。如果存储器系统100被供电,则地址映射表AMT可以存储在非易失性存储器装置120中并且可以加载在DRAM 130上。地址映射表AMT的大小与非易失性存储器装置120的容量成正比地增大。地址映射表AMT可以占用DRAM130的容量的80%。因此,管理地址映射表AMT的错误,因此,针对地址映射表AMT的纠错操作与存储在非易失性存储器装置120中的数据分开地执行。
映射表纠错电路115可以从CPU 111接收地址转换请求或地址写入请求。例如,当CPU 111从主机接收到读取存储在非易失性存储器装置120中的数据的请求时,CPU 111可以将转换与主机的读取请求对应的逻辑地址的地址转换请求提供给映射表纠错电路115。当映射表纠错电路115接收到地址转换请求时,映射表纠错电路115可以通过使用地址映射表AMT来获得非易失性存储器装置的与接收的逻辑地址对应的物理地址。在此情况下,映射表纠错电路115可以对地址映射表AMT中的包括请求的物理地址的部分执行纠错操作。
当CPU 111从主机接收到将数据写入非易失性存储器装置120或从非易失性存储器装置120擦除数据的请求时,CPU 111可以将与对应于主机的写入或擦除请求的逻辑地址相关联的地址写入请求提供给映射表纠错电路115。当映射表纠错电路115接收到地址写入请求时,映射表纠错电路115可以将非易失性存储器装置的与接收的逻辑地址对应的物理地址改变为另一个物理地址,或者可以删除与该物理地址相关联的地址映射。在这种情况下,映射表纠错电路115可以对地址映射表AMT中的包括请求的物理地址的部分执行纠错操作。
例如,映射表纠错电路115可以纠正1比特(bit)错误,并且可以检测2比特错误。映射表纠错电路115可以通过使用汉明码来纠错。然而,发明构思的示例实施例可以不限于此。
非易失性存储器接口116可以与非易失性存储器装置120交换数据。例如,非易失性存储器接口116可以将从DRAM 130接收的数据提供给非易失性存储器装置120。从非易失性存储器装置120读取的数据可以通过非易失性存储器接口116存储在DRAM 130中。
非易失性存储器装置120可以设置为存储器系统100的存储介质。例如,非易失性存储器装置120可以用高容量NAND型闪存来实现。此外,非易失性存储器装置120的存储介质可以用PRAM、MRAM、ReRAM、FRAM、NOR闪存等来实现,包括异质(heterogeneous)存储器装置的存储器系统可以用作非易失性存储器装置120的存储介质。易失性存储器装置(例如,DRAM)可以作为存储介质被包括。
从主机提供的写入数据或者从非易失性存储器装置120读取的数据可以临时存储在DRAM 130中。当主机发出读取请求时,如果非易失性存储器装置120中存在的数据被高速缓存,则DRAM 130可以支持用于将高速缓存的数据直接提供给主机的高速缓存功能。在这种情况下,不会发生对非易失性存储器装置120的访问。通过主机的总线格式(例如,SATA或SAS)的数据传输速率远高于非易失性存储器装置120的存储器信道的数据传输速率。即,当主机的接口速度明显高时,因速度差而导致的性能降低可以通过提供高容量DRAM 130而最小化。DRAM 130可以是用作高容量辅助存储器装置的用于在存储器系统100中充分地缓冲的同步DRAM(SDRAM)。然而,本领域的技术人员清楚,DRAM 130不限于此。
DRAM 130可以存储地址映射表AMT。例如,地址映射表AMT可以用于将主机中使用的逻辑地址转换为非易失性存储器装置120中使用的物理地址。如果存储器系统100被供电,则地址映射表AMT可以存储在非易失性存储器装置120中并且可以加载在DRAM 130上。地址映射表AMT的大小与非易失性存储器装置120的容量成正比地增大。地址映射表AMT可以占用DRAM 130的容量的80%。
根据发明构思的示例实施例,存储器系统100可以包括与非易失性存储器纠错电路113分开的映射表纠错电路115,其中,映射表纠错电路115对存储在DRAM 130中并且被闪存转换层FTL管理的地址映射表AMT执行纠错操作,非易失性存储器纠错电路113对存储在非易失性存储器装置120中的数据执行纠错操作。因此,存储器系统100可以检测和纠正用于操作非易失性存储器装置120的地址映射表AMT的错误。这可以意味着存储器系统100确保访问非易失性存储器装置120的可靠性。
图2是示出根据示例实施例的映射表纠错电路115的操作的框图。参照图2,CPU111可以从主机接收访问非易失性存储器装置120的请求。例如,CPU 111可以连同读取请求一起接收逻辑地址LA。可选择地,CPU 111可以连同写入请求一起接收逻辑地址LA和物理地址PA。
当CPU 111从主机接收到读取请求时,CPU 111可以将接收的逻辑地址传输到映射表纠错电路115。映射表纠错电路115可以从DRAM 130读取与接收的逻辑地址对应的地址映射(AM)数据。映射表纠错电路115可以通过使用在地址映射数据中包括的奇偶校验位(parity),来对地址映射数据执行纠错操作。映射表纠错电路115可以在执行纠错操作之后,从地址映射数据获得对应于逻辑地址的物理地址,并且可以将获得的物理地址传输到CPU111。
例如,地址映射数据可以包括物理地址块(chunk)和奇偶校验位。物理地址块是非易失性存储器装置120的一组物理地址。奇偶校验位可以根据物理地址块而生成,并且可以与物理地址块一起被包括在一条地址映射数据中。作为示例实施例,地址映射数据的大小可以设定为与DRAM 130的输入/输出接口的大小相同。此外,地址映射数据的大小可以设定为小于DRAM 130的输入/输出接口的大小。然而,地址映射数据的大小不限于此。地址映射数据的大小可以根据示例实施例变化地设定。地址映射表AMT可以包括多条地址映射数据。
当CPU 111从主机接收到写入请求时,CPU 111可以将接收的逻辑地址和新物理地址传输到映射表纠错电路115。映射表纠错电路115可以从DRAM130读取与接收的逻辑地址对应的地址映射数据。映射表纠错电路115可以通过使用在地址映射数据中包括的奇偶校验位,来对地址映射数据执行纠错操作。映射表纠错电路115可以在执行纠错操作之后,将与逻辑地址对应的物理地址改变为新物理地址。映射表纠错电路115可以生成与包括新物理地址的新物理地址块对应的新奇偶校验位。映射表纠错电路115可以组合新物理地址块和新奇偶校验位,并且可以将新地址映射数据存储在DRAM 130中。映射表纠错电路115可以在先前的地址映射数据上覆写新地址映射数据。
图3是示出图2的映射表纠错电路115的框图。参照图3,映射表纠错电路115可以包括地址处理器115_1、映射表纠错编码器115_2和映射表纠错解码器115_3。
在对物理地址进行编码时,地址处理器115_1可以接收多个物理地址以生成物理地址块,或者可以在现有的物理地址块中替换接收的物理地址。映射表纠错编码器115_2可以生成与物理地址块对应的奇偶校验位。此外,映射表纠错编码器115_2可以组合物理地址块和奇偶校验位以生成地址映射数据。映射表纠错编码器115_2可以将生成的地址映射数据存储在DRAM 130中。
在对物理地址进行解码时,映射表纠错解码器115_3可以从DRAM 130读取与接收的逻辑地址对应的地址映射数据。映射表纠错解码器115_3可以将地址映射数据分为物理地址块和奇偶校验位。映射表纠错解码器115_3可以通过使用奇偶校验位对物理地址块执行纠错操作。映射表纠错解码器115_3可以纠正物理地址块的1比特错误,或者可以检测物理地址块的2比特错误。映射表纠错解码器115_3可以将纠错后的物理地址块传输到地址处理器115_1。地址处理器115_1可以从纠错后的物理地址块获得与接收的逻辑地址对应的物理地址。地址处理器115_1可以将获得的物理地址传输到CPU 111。
在示例实施例中,物理地址和奇偶校验位中的每个可以具有4字节的大小。物理地址块可以包括7个物理地址,因此具有28字节的大小。地址映射数据由28字节的物理地址块和4字节的奇偶校验位组成,因此具有32字节的大小。32字节的大小可以与DRAM 130的输入/输出接口的大小相同。这仅是示例,地址映射数据的大小可以随着DRAM 130的输入/输出接口的大小而改变。此外,包括在一个物理地址块中的物理地址的数量可以是可变的。
图4是示出根据示例实施例的一条地址映射数据的图。参照图4,一条地址映射(AM)数据可以包括第一物理地址PA1至第七物理地址PA7和奇偶校验位。例如,第一物理地址PA1至第七物理地址PA7可以构成一个物理地址(PA)块。第一物理地址PA1至第七物理地址PA7和奇偶校验位中的每个可以具有4字节的大小。因此,一条地址映射数据可以具有32字节的大小,与DRAM 130的突发长度相同。即,DRAM 130的输入/输出接口的大小为32字节。
在将DRAM 130的地址0x0至0x1C分别分配给第一物理地址PA1至第七物理地址PA7和奇偶校验位Parity之后,可以存储第一物理地址PA1至第七物理地址PA7和奇偶校验位。DRAM 130的地址0x0至0x1C可以用作第一物理地址PA1至第七物理地址PA7和奇偶校验位的逻辑地址。
图5是示出根据示例实施例的存储在DRAM 130中的地址映射表AMT的图。参照图5,DRAM 130可以存储地址映射表AMT。例如,地址映射表AMT可以以地址映射数据为单元存储。即,地址映射表AMT可以包括第一地址映射数据AM Data 1至第N地址映射数据AM Data N。第一地址映射数据AM Data 1至第N地址映射数据AM Data N可以分别包括物理地址块PA块1至PA块N以及奇偶校验位Parity 1至Parity N。
图6是示出根据示例实施例的地址转换操作的流程图。参照图6,可以在控制器110接收到读取请求时执行地址转换操作。
在操作S110中,映射表纠错电路115可以从CPU 111接收转换逻辑地址的地址转换请求。例如,逻辑地址是从主机接收的地址。映射表纠错电路115可以从CPU 111接收逻辑地址。
在操作S120中,映射表纠错电路115可以从DRAM 130读取与逻辑地址对应的地址映射数据。例如,映射表纠错解码器115_3可以读取包括奇偶校验位的地址映射数据。
在操作S130中,映射表纠错电路115可以执行地址映射数据的纠错解码操作。例如,映射表纠错解码器115_3可以将地址映射数据分为物理地址块和奇偶校验位。映射表纠错解码器115_3可以通过使用奇偶校验位来检测和纠正物理地址块的错误。映射表纠错解码器115_3可以纠正1比特错误,并且可以检测2比特错误。可以将纠错后的物理地址块传输到地址处理器115_1。
在操作S140中,映射表纠错电路115可以输出与逻辑地址对应的物理地址。例如,地址处理器115_1可以从纠错后的物理地址块获得与逻辑地址对应的物理地址。地址处理器115_1可以将获得的物理地址传输到CPU 111。
根据发明构思的示例实施例,控制器110可以在读取存储在DRAM 130中的地址映射表AMT时执行纠错操作。另外,地址映射表AMT可以以由物理地址块和奇偶校验位组成的地址映射数据为单元存储。因此,控制器110可以通过一次读取操作对与逻辑地址对应的物理地址执行纠错操作。这可以意味着,控制器110确保地址映射表AMT的可靠性,并且减少用于纠正地址映射表AMT的错误的时间。
图7是示出图6的地址转换操作的图。参照图7,在操作1中,如果从CPU 111接收到转换与第二物理地址PA2对应的逻辑地址的地址转换请求,则映射表纠错解码器115_3可以从DRAM 130读取包括第一物理地址PA1至第七物理地址PA7和奇偶校验位Parity的地址映射数据。在操作2中,映射表纠错解码器115_3可以将地址映射数据分为包括第一物理地址PA1至第七物理地址PA7的物理地址块和奇偶校验位。映射表纠错解码器115_3可以通过使用奇偶校验位来检测和纠正物理地址块的错误。在操作3中,地址处理器115_1从映射表纠错解码器115_3接收物理地址块。在操作4中,地址处理器115_1可以从物理地址块获得与接收的逻辑地址对应的第二物理地址PA2。
图8是示出根据示例实施例的地址写入操作的流程图。参照图8,当控制器110接收写入请求时,可以执行地址写入操作。
在操作S210中,映射表纠错电路115可以从CPU 111接收逻辑地址和对应于逻辑地址的新物理地址。例如,因为非易失性存储器装置120不支持覆写功能,所以逻辑地址必须被映射到新物理地址,以将新的数据写入非易失性存储器装置120中。
在操作S220中,映射表纠错电路115可以从DRAM 130读取与逻辑地址对应的第一地址映射数据。例如,映射表纠错解码器115_3可以读取包括先前的物理地址和第一奇偶校验位的第一地址映射数据。
在操作S230中,映射表纠错电路115可以执行第一地址映射数据的纠错解码操作。例如,映射表纠错解码器115_3可以将第一地址映射数据分为第一物理地址块和第一奇偶校验位。映射表纠错解码器115_3可以通过使用第一奇偶校验位来检测和纠正第一物理地址块的错误。映射表纠错解码器115_3可以纠正1比特错误,并且可以检测2比特错误。可以将纠错后的第一物理地址块传输到地址处理器115_1。
在操作S240中,映射表纠错电路115可以将先前的物理地址改变为新物理地址。例如,地址处理器115_1可以在第一物理地址块中通过用新物理地址来替换先前的物理地址而生成包括新物理地址的第二物理地址块。可以将第二物理地址块传输到映射表纠错编码器115_2。
在操作S250中,映射表纠错电路115可以执行包括新物理地址的第二地址映射数据的纠错编码操作。例如,映射表纠错编码器115_2可以生成与第二物理地址块对应的第二奇偶校验位。映射表纠错编码器115_2可以组合第二物理地址块和第二奇偶校验位,以生成第二地址映射数据。
在操作S260中,映射表纠错电路115可以将第二地址映射数据存储至DRAM 130。例如,映射表纠错编码器115_2可以在第一地址映射数据上覆写第二地址映射数据。
根据发明构思的示例实施例,控制器110可以在改变存储在DRAM 130中的地址映射表AMT时执行纠错操作。当控制器110改变地址映射表AMT时,控制器110可以在读取先前的地址映射数据之后生成新地址映射数据。可以在读取先前的地址映射数据时纠正地址映射表AMT的错误。
图9是示出图8的地址写入操作的图。参照图9,在操作1中,映射表纠错电路115,即,地址处理器115_1,可以从CPU 111接收与对应于第二物理地址PA2的逻辑地址和新第二物理地址PA2'相关联的地址写入请求。在操作2中,如果从CPU 111接收与第二物理地址PA2对应的逻辑地址的地址写入请求,则映射表纠错解码器115_3可以从DRAM 130读取包括第一物理地址PA1至第七物理地址PA7和第一奇偶校验位Parity 1的第一地址映射数据。在操作3中,映射表纠错解码器115_3可以将第一地址映射数据分为包括第一物理地址PA1至第七物理地址PA7的第一物理地址块和第一奇偶校验位。映射表纠错解码器115_3可以通过使用第一奇偶校验位来检测和纠正第一物理地址块的错误。在操作4中,地址处理器115_1从映射表纠错解码器115_3接收第一物理地址块。
在操作5中,地址处理器115_1可以从第一物理地址块去除第二物理地址PA2,并且将新第二物理地址PA2'插入第一物理地址块以生成第二物理地址块。在操作6中,地址处理器115_1可以将包括新第二物理地址PA2'的第二物理地址块提供给映射表纠错编码器115_2。在操作7中,映射表纠错编码器115_2可以基于第二物理地址块生成第二奇偶校验位Parity 2。映射表纠错编码器115_2可以组合第二物理地址块和第二奇偶校验位以生成第二地址映射数据。在DRAM 130中,可以在第一地址映射数据上覆写生成的第二地址映射数据。
图10是示出根据示例实施例的固态驱动器(SSD)系统1000的框图。参照图10,SSD系统1000可以包括主机1100和SSD 1200。SSD 1200可以包括SSD控制器1210、缓冲存储器1220和非易失性存储器装置1230。
SSD控制器1210可以提供主机1100与SSD 1200之间的物理连接。即,SSD控制器1210可以按照主机的总线格式提供主机1100与SSD 1200之间的接口。SSD控制器1210可以对从主机1100提供的指令进行解码。SSD控制器1210可以基于解码的结果访问非易失性存储器装置1230。主机的总线格式可以包括通用串行总线(USB)、小型计算机系统接口(SCSI)、高速PCI、高级技术附件(ATA)、并行ATA(PATA)、串行ATA(SATA)、串列SCSI(SAS)等。
另外,SSD控制器1210可以包括参照图1至图9描述的映射表纠错电路115。因此,SSD控制器1210可以通过一次读取操作对存储在缓冲存储器1220中的地址映射表执行纠错操作。
缓冲存储器1220可以临时存储从主机1100提供的写入数据,或从非易失性存储器装置1230读取的数据。当主机1100发出读取请求时,如果非易失性存储器装置1230中存在的数据被高速缓存,则缓冲存储器1220可以支持用于将高速缓存的数据直接提供给主机1100的高速缓存功能。通过主机的总线格式(例如,SATA或SAS)的数据传输速率远高于SSD1200的存储器信道的数据传输速率。即,当主机的接口速度明显高时,因速度差而导致的性能降低可以通过提供高容量缓冲存储器1220而最小化。另外,缓冲存储器1220可以存储非易失性存储器装置1230的地址映射表。
缓冲存储器1220可以是用作高容量辅助存储器装置的用于在SSD 1200中充分地缓冲的SDRAM。然而,本领域的技术人员清楚,缓冲存储器1220不限于此。
非易失性存储器装置1230NVM_1至NVM_n可以设置为SSD 1200的存储介质。例如,非易失性存储器装置1230可以用高容量NAND型闪存来实现。非易失性存储器装置1230可以通过多条信道CH1至CHn来与SSD控制器1210连接。示例实施例举例说明为,非易失性存储器装置1230利用NAND闪存作为存储介质来实现。然而,发明构思的示例实施例可以不限于此。例如,非易失性存储器装置1230可以利用与NAND闪存不同的非易失性存储器装置来实现。例如,非易失性存储器装置1230的存储介质可以利用PRAM、MRAM、ReRAM、FRAM和NOR闪存等来实现,包括不同类型的存储器装置的存储器系统可以用作非易失性存储器装置1230的存储介质。易失性存储器装置(例如,DRAM)可以作为存储介质被包括。
图11是示出根据示例实施例的通用闪存(UFS)系统2000的框图。参照图11,UFS系统2000可以包括UFS主机2100和UFS装置2200。
UFS主机2100可以包括应用2110、装置驱动器2120、主机控制器2130和缓冲RAM2140。主机控制器2130可以包括命令(CMD)队列2131、主机DMA(Direct Memory Access)2132和电源管理器2133。命令队列2131、主机DMA 2132和电源管理器2133可以作为主机控制器2130中的算法、软件或固件来操作。
在UFS主机2100的应用2110和装置驱动器2120中生成的命令(例如,写入命令)可以输入到主机控制器2130的命令队列2131。命令队列2131可以按顺序存储要提供给UFS装置2200的命令。存储在命令队列2131中的命令可以提供给主机DMA 2132。主机DMA 2132可以通过主机接口(I/F)2101将命令发送到UFS装置2200。
继续参照图11,UFS装置2200可以包括闪存2210、装置控制器2230和缓冲RAM2240。装置控制器2230可以包括CPU 2231、命令管理器2232、闪存DMA 2233、安全管理器2234、缓冲管理器2235、闪存转换层(FTL)2236和闪存管理器2237。这里,命令管理器2232、安全管理器2234、缓冲管理器2235、闪存转换层2236和闪存管理器2237可以作为装置控制器2230中的算法、软件或固件来操作。
从UFS主机2100输入到UFS装置2200的命令可以通过装置接口2201提供给命令管理器2232。命令管理器2232可以解释来自UFS主机2100的命令,并且可以通过使用安全管理器2234来验证输入命令。命令管理器2232可以通过缓冲管理器2235来分配缓冲RAM 2240以接收数据。如果命令管理器2232准备好传输数据,则命令管理器2232将RTT(READY_TO_TRANSFER)UPIU传输到UFS主机2100。
缓冲管理器2235可以包括参照图1至图9描述的映射表纠错电路115。因此,缓冲管理器2235可以通过一次读取操作对存储在缓冲RAM 2240中的地址映射表执行纠错操作。
UFS主机2100可以响应于RTT UPIU将数据传输到UFS装置2200。数据可以通过主机DMA 2132和主机接口2101传输到UFS装置2200。UFS装置2200可以通过缓冲管理器2235将所提供的数据存储在缓冲RAM 2240中。存储在缓冲RAM 2240中的数据可以通过闪存DMA 2233提供给闪存管理器2237。另外,缓冲RAM 2240可以存储地址映射表。闪存管理器2237可以通过闪存转换层2236参照地址映射表将数据存储在闪存2210的选择的地址处。
如果针对命令的数据传输和编程完成,则UFS装置2200通过接口将响应信号传输到UFS主机2100,并且可以提供命令完成的通知。UFS主机2100可以将与响应信号对应的命令是否完成通知给装置驱动器2120和应用2110,并且可以结束对应于所述对应的命令的操作。
根据发明构思的示例性实施例,存储器系统对存储在DRAM中并且用于非易失性存储装置的地址映射表执行错误检测和纠正,从而确保可靠性。此外,存储器系统可以通过一次读取操作来对地址映射表快速地执行错误检测和纠正。
如在发明构思的领域中传统的,依据功能块、单元和/或模块描述并在附图中示出了实施例。本领域技术人员将理解,这些块、单元和/或模块通过可以使用基于半导体的制造技术或其他制造技术形成的电子(或光学)电路(诸如逻辑电路、分立组件、微处理器、硬布线电路、存储器元件、布线连接等)来物理地实现。在块、单元和/或模块通过微处理器或类似组件来实现的情况下,可以使用软件(例如,微代码)来对这些块、单元和/或模块进行编程以执行这里讨论的各种功能,并且可以通过固件和/或软件可选地驱动这些块、单元和/或模块。可选择地,每个块、单元和/或模块可以通过专用硬件来实现,或者实现为执行一些功能的专用硬件和执行其他功能的处理器(例如,一个或更多个编程的微处理器和相关联的电路)的组合。此外,在不脱离发明构思的范围的情况下,示例实施例的每个块、单元和/或模块可以物理上分成两个或更多个相互作用且离散的块、单元和/或模块。此外,在不脱离发明构思的范围的情况下,示例实施例的块、单元和/或模块可以被物理地组合成更复杂的块、单元和/或模块。
虽然已经参照实施例描述了发明构思,但是对本领域技术人员将明显的是,在不脱离发明构思的精神和范围的情况下,可以做出各种改变与修改。因此,可以理解,以上实施例不是限制性的,而是说明性的。
Claims (15)
1.一种存储器系统,所述存储器系统包括:
非易失性存储器装置;
DRAM,被配置为存储用于访问非易失性存储器装置的地址映射表;以及
控制器,被配置为:将以地址映射数据为单元划分的地址映射表存储在DRAM中,每个单元具有DRAM的接口的大小;从存储的地址映射表读取与从主机接收的逻辑地址对应的目标地址映射数据,所述目标地址映射数据包括目标奇偶校验位和非易失性存储器装置的物理地址;使用目标奇偶校验位对读取的目标地址映射数据执行纠错;以及利用新物理地址来替换在纠正其错误后的目标物理地址块中的与所述逻辑地址对应的目标物理地址,以生成新物理地址块,
其中,使用目标奇偶校验位对读取的目标地址映射数据执行纠错的处理包括:将读取的目标地址映射数据分为目标奇偶校验位和包括与所述逻辑地址对应的目标物理地址的目标物理地址块,以及使用目标奇偶校验位来检测和纠正目标物理地址块的错误。
2.根据权利要求1所述的存储器系统,其中,基于目标物理地址块来生成目标奇偶校验位。
3.根据权利要求1所述的存储器系统,其中,控制器还被配置为:
基于生成的新物理地址块来生成新奇偶校验位;
组合生成的新物理地址块和生成的新奇偶校验位,以生成新地址映射数据;以及
将生成的新地址映射数据存储在DRAM中。
4.根据权利要求3所述的存储器系统,其中,控制器还被配置为利用生成的新地址映射数据来替换DRAM中的目标地址映射数据。
5.根据权利要求1所述的存储器系统,其中,地址映射表的容量与非易失性存储器装置的容量成正比。
6.一种存储器系统,所述存储器系统包括:
非易失性存储器装置;
DRAM,被配置为存储用于访问非易失性存储器装置的地址映射表;以及
控制器,被配置为:将以地址映射数据为单元划分的地址映射表存储在DRAM中,每个单元具有DRAM的接口的大小;以及通过对在存储的地址映射表之中的对应于访问的目标地址映射数据执行错误检测和纠正,来访问非易失性存储器装置,所述目标地址映射数据包括非易失性存储器装置的物理地址和对应于物理地址的目标奇偶校验位,
其中,控制器包括连接到DRAM并且被配置为对目标地址映射数据执行错误检测和纠正的映射表纠错电路,
其中,映射表纠错电路包括映射表纠错解码器,所述映射表纠错解码器被配置为:将目标地址映射数据分为目标物理地址块和目标奇偶校验位,以及使用目标奇偶校验位来检测和纠正目标物理地址块的错误,并且
其中,映射表纠错电路还包括地址处理器,所述地址处理器被配置为利用新物理地址来替换在纠正其错误后的目标物理地址块中的与访问对应的目标物理地址,以生成新物理地址块。
7.根据权利要求6所述的存储器系统,其中,所述地址处理器还被配置为从目标物理地址块获得与访问对应的目标物理地址。
8.根据权利要求6所述的存储器系统,其中,映射表纠错电路还包括映射表纠错编码器,所述映射表纠错编码器被配置为:
基于生成的新物理地址块来生成新奇偶校验位;以及
组合生成的新物理地址块和生成的新奇偶校验位,以生成新地址映射数据。
9.根据权利要求8所述的存储器系统,其中,所述映射表纠错编码器还被配置为利用生成的新地址映射数据来替换DRAM中的目标地址映射数据,以将生成的新地址映射数据存储在DRAM中。
10.根据权利要求6所述的存储器系统,其中,映射表纠错电路还被配置为通过从DRAM的一次读取操作对目标地址映射数据执行错误检测和纠正。
11.根据权利要求6所述的存储器系统,其中,所述存储器系统包括固态驱动器或通用闪存。
12.一种控制存储器系统的方法,所述存储器系统包括非易失性存储器装置和DRAM,所述方法包括:
从主机接收请求以将由主机使用的逻辑地址转换为非易失性存储器装置的目标物理地址;
从存储在DRAM中的多条地址映射数据读取与接收的请求的逻辑地址对应的目标地址映射数据,所述目标地址映射数据包括目标奇偶校验位和非易失性存储器装置的目标物理地址;
使用目标奇偶校验位来纠正包括在读取的目标地址映射数据中的目标物理地址的错误;
输出在纠正其错误后的目标物理地址之中的对应于所述逻辑地址的目标物理地址;以及
利用接收的请求的新物理地址来替换在纠正其错误后的目标物理地址之中的对应于所述逻辑地址的目标物理地址,以生成非易失性存储器装置的新物理地址,
其中,从主机接收的请求包括与所述逻辑地址对应的新物理地址,用于写入操作。
13.根据权利要求12所述的方法,其中,每条地址映射数据具有DRAM的突发长度的大小。
14.根据权利要求12所述的方法,所述方法还包括:
基于生成的新物理地址来生成新奇偶校验位;
组合生成的新物理地址和生成的新奇偶校验位来生成新地址映射数据;以及
利用生成的新地址映射数据来替换DRAM中的目标地址映射数据,以将生成的新地址映射数据存储在DRAM中。
15.根据权利要求12所述的方法,其中,通过从DRAM的一次读取操作来执行纠正。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160147679A KR20180051706A (ko) | 2016-11-07 | 2016-11-07 | 어드레스 맵핑 테이블의 에러 정정을 수행하는 메모리 시스템 |
KR10-2016-0147679 | 2016-11-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108073470A CN108073470A (zh) | 2018-05-25 |
CN108073470B true CN108073470B (zh) | 2023-04-07 |
Family
ID=62064672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710970039.XA Active CN108073470B (zh) | 2016-11-07 | 2017-10-18 | 执行地址映射表的纠错的存储器系统及其控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10635530B2 (zh) |
KR (1) | KR20180051706A (zh) |
CN (1) | CN108073470B (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102392844B1 (ko) * | 2017-03-10 | 2022-05-03 | 삼성전자주식회사 | 메모리 컨트롤러 및 그것을 포함하는 저장 장치 |
US20190179540A1 (en) * | 2017-12-11 | 2019-06-13 | Qualcomm Incorporated | Concurrent access for multiple storage devices |
US11151006B2 (en) * | 2018-07-02 | 2021-10-19 | Samsung Electronics Co., Ltd. | HBM RAS cache architecture |
US10810078B2 (en) * | 2018-07-03 | 2020-10-20 | Mediatek Inc. | Method of parity training for a DRAM supporting a link error checking and correcting functionality |
KR20200006378A (ko) * | 2018-07-10 | 2020-01-20 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그것의 동작방법 |
KR102711044B1 (ko) * | 2018-09-20 | 2024-09-27 | 에스케이하이닉스 주식회사 | 메모리 시스템에서의 유효 데이터 체크 방법 및 장치 |
CN109491593B (zh) * | 2018-09-28 | 2020-11-17 | 方一信息科技(上海)有限公司 | 一种数据存储管理系统及方法 |
KR20200044308A (ko) * | 2018-10-19 | 2020-04-29 | 삼성전자주식회사 | 스토리지 장치 및 서버 장치 |
KR20200046264A (ko) * | 2018-10-24 | 2020-05-07 | 삼성전자주식회사 | 호스트 메모리 버퍼를 이용하는 데이터 스토리지 장치 및 그 동작 방법 |
KR20200059780A (ko) | 2018-11-21 | 2020-05-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20200074647A (ko) * | 2018-12-17 | 2020-06-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20200078047A (ko) * | 2018-12-21 | 2020-07-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20200078101A (ko) * | 2018-12-21 | 2020-07-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20200078830A (ko) | 2018-12-24 | 2020-07-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 모듈 |
KR20200085510A (ko) * | 2019-01-07 | 2020-07-15 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법과, 이를 위한 컨트롤러 |
CN109800179B (zh) * | 2019-01-31 | 2021-06-22 | 维沃移动通信有限公司 | 获取数据的方法、发送数据的方法、主机和内嵌式存储器 |
US20200264953A1 (en) * | 2019-02-20 | 2020-08-20 | Western Digital Technologies, Inc. | Error correction in data storage devices |
KR20200108650A (ko) * | 2019-03-11 | 2020-09-21 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US11237902B2 (en) * | 2019-03-15 | 2022-02-01 | Innogrit Technologies Co., Ltd. | Systems and methods for an ECC architecture with memory mapping |
KR20200121645A (ko) * | 2019-04-16 | 2020-10-26 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그것의 동작 방법과 메모리 시스템 |
CN110083481A (zh) * | 2019-04-28 | 2019-08-02 | 深圳忆联信息系统有限公司 | 基于hmb的逻辑物理映射表保护方法、装置及固态硬盘 |
US11288007B2 (en) * | 2019-05-16 | 2022-03-29 | Western Digital Technologies, Inc. | Virtual physical erase of a memory of a data storage device |
KR20210038753A (ko) * | 2019-09-30 | 2021-04-08 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
CN112988449B (zh) * | 2019-12-16 | 2023-08-15 | 慧荣科技股份有限公司 | 写入页面群组的数据到闪存模块的装置及方法 |
KR20210079894A (ko) * | 2019-12-20 | 2021-06-30 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN113127378B (zh) * | 2020-07-16 | 2024-04-26 | 长江存储科技有限责任公司 | 数据读取方法、装置及数据存储设备 |
KR20220021186A (ko) * | 2020-08-13 | 2022-02-22 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 내 데이터를 공유하는 장치 및 방법 |
KR20220049856A (ko) | 2020-10-15 | 2022-04-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 컨트롤러 |
CN112540723B (zh) * | 2020-11-06 | 2023-02-03 | 深圳市民德电子科技股份有限公司 | 一种NOR Flash坏点补偿的方法 |
CN113590502B (zh) * | 2021-07-23 | 2024-03-22 | 合肥康芯威存储技术有限公司 | 一种非挥发性记忆体存储设备的垃圾回收方法与垃圾回收系统 |
CN113555057A (zh) * | 2021-07-26 | 2021-10-26 | 成都储迅科技有限责任公司 | 一种扩大固态硬盘映射表单元的实现方法 |
KR102497130B1 (ko) * | 2021-11-11 | 2023-02-07 | 삼성전자주식회사 | 스토리지 장치 및 그것의 동작 방법 |
US20230333990A1 (en) * | 2022-04-18 | 2023-10-19 | Samsung Electronics Co., Ltd. | Systems and methods for address translation |
EP4404064A1 (en) * | 2023-01-18 | 2024-07-24 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory device and controller |
US20240320095A1 (en) * | 2023-03-23 | 2024-09-26 | Silicon Motion, Inc. | Method and apparatus for performing table management of memory device in predetermined communications architecture with aid of flexible table page grouping |
CN117112289B (zh) * | 2023-10-17 | 2024-02-02 | 北京开源芯片研究院 | 内存纠错方法、装置、设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727976A (zh) * | 2008-10-15 | 2010-06-09 | 晶天电子(深圳)有限公司 | 一种多层闪存装置、固态硬盘和分割非易失性存储器系统 |
CN102436406A (zh) * | 2010-09-15 | 2012-05-02 | 株式会社东芝 | 半导体装置及其数据存取方法 |
CN105308575A (zh) * | 2013-08-06 | 2016-02-03 | 桑迪士克科技股份有限公司 | 用于错误校正码(ecc)错误处理的方法和装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10236796B4 (de) * | 2002-08-08 | 2004-12-02 | Christian Dr. Scheideler | Verfahren und Anordnung zur randomisierten Datenspeicherung in Speichernetzwerken und/oder einem Intranet und/oder dem Internet sowie ein entsprechendes Computerprogramm-Erzeugnis und ein entsprechendes computerlesbares Speichermedium |
US8041878B2 (en) * | 2003-03-19 | 2011-10-18 | Samsung Electronics Co., Ltd. | Flash file system |
KR101042197B1 (ko) | 2008-12-30 | 2011-06-20 | (주)인디링스 | 메모리 컨트롤러 및 메모리 관리 방법 |
US8250333B2 (en) | 2009-01-05 | 2012-08-21 | Sandisk Technologies Inc. | Mapping address table maintenance in a memory device |
US8219776B2 (en) | 2009-09-23 | 2012-07-10 | Lsi Corporation | Logical-to-physical address translation for solid state disks |
JP4901987B1 (ja) * | 2010-09-14 | 2012-03-21 | 株式会社東芝 | 記憶装置、電子機器及び誤りデータの訂正方法 |
KR101732030B1 (ko) | 2010-12-22 | 2017-05-04 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US20130019057A1 (en) | 2011-07-15 | 2013-01-17 | Violin Memory, Inc. | Flash disk array and controller |
US9268682B2 (en) | 2012-10-05 | 2016-02-23 | Skyera, Llc | Methods, devices and systems for physical-to-logical mapping in solid state drives |
US8838936B1 (en) | 2013-11-27 | 2014-09-16 | NXGN Data, Inc. | System and method for efficient flash translation layer |
US9367392B2 (en) | 2014-08-01 | 2016-06-14 | Winbond Electronics Corporation | NAND flash memory having internal ECC processing and method of operation thereof |
KR102398213B1 (ko) * | 2015-03-09 | 2022-05-17 | 삼성전자주식회사 | 저장 장치, 그것을 포함하는 호스트 시스템, 및 그것의 맵 테이블 업데이트 방법 |
US9946463B2 (en) * | 2016-07-12 | 2018-04-17 | Western Digital Technologies, Inc. | Compression of indirection tables |
US20180173419A1 (en) * | 2016-12-21 | 2018-06-21 | Western Digital Technologies, Inc. | Hybrid ssd with delta encoding |
-
2016
- 2016-11-07 KR KR1020160147679A patent/KR20180051706A/ko not_active Application Discontinuation
-
2017
- 2017-09-28 US US15/718,143 patent/US10635530B2/en active Active
- 2017-10-18 CN CN201710970039.XA patent/CN108073470B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727976A (zh) * | 2008-10-15 | 2010-06-09 | 晶天电子(深圳)有限公司 | 一种多层闪存装置、固态硬盘和分割非易失性存储器系统 |
CN102436406A (zh) * | 2010-09-15 | 2012-05-02 | 株式会社东芝 | 半导体装置及其数据存取方法 |
CN105308575A (zh) * | 2013-08-06 | 2016-02-03 | 桑迪士克科技股份有限公司 | 用于错误校正码(ecc)错误处理的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108073470A (zh) | 2018-05-25 |
KR20180051706A (ko) | 2018-05-17 |
US10635530B2 (en) | 2020-04-28 |
US20180129563A1 (en) | 2018-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108073470B (zh) | 执行地址映射表的纠错的存储器系统及其控制方法 | |
US10789161B2 (en) | Data storage device to identify and process a sequential read request and operating method thereof | |
US8250403B2 (en) | Solid state disk device and related data storing and reading methods | |
US10067873B2 (en) | Data storage device and operating method thereof | |
US10838854B2 (en) | Data storage device and operating method thereof | |
US11144449B2 (en) | Memory system and operation method thereof | |
KR102647418B1 (ko) | 반도체장치 및 반도체시스템 | |
US10628041B2 (en) | Interface circuit and storage device having the interface circuit | |
US20180165032A1 (en) | Read write performance for nand flash for archival application | |
US10599581B2 (en) | Data storage device and operating method thereof | |
US10754768B2 (en) | Memory system using descriptor lookup tables to access setting information for a non-volatile memory, and an operating method thereof | |
US11782638B2 (en) | Storage device with improved read latency and operating method thereof | |
US10642758B2 (en) | Storage drive and method of executing a compare command | |
US20210397364A1 (en) | Storage device and operating method thereof | |
US11216380B2 (en) | Controller and operation method thereof for caching plural pieces of map data read from memory device | |
US10515693B1 (en) | Data storage apparatus and operating method thereof | |
CN110874329A (zh) | 控制器及其操作方法 | |
US11422889B2 (en) | Memory system and controller for storing map data of volatile memory into nonvolatile memory device during power off operation | |
US20210397558A1 (en) | Storage device and operating method thereof | |
US11281381B2 (en) | Storage node of distributed storage system and method of operating the same | |
US10908836B2 (en) | Memory system and operation method thereof | |
US20160211024A1 (en) | Decoding data using a reserved word line | |
US20240329842A1 (en) | Methods and devices for reducing latency of read operations performed on solid state drives | |
US9501351B2 (en) | Memory control unit and data storage device including the same | |
US11429530B2 (en) | Data storage device and operating method thereof |
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 |