CN108021334A - 存储设备及其操作方法 - Google Patents
存储设备及其操作方法 Download PDFInfo
- Publication number
- CN108021334A CN108021334A CN201710903712.8A CN201710903712A CN108021334A CN 108021334 A CN108021334 A CN 108021334A CN 201710903712 A CN201710903712 A CN 201710903712A CN 108021334 A CN108021334 A CN 108021334A
- Authority
- CN
- China
- Prior art keywords
- read
- reading order
- read path
- data
- index
- 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.)
- Pending
Links
Classifications
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
- 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
- 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/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/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
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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
- G06F2212/656—Address space sharing
-
- 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
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)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种存储设备的操作方法包括:在硬件读取路径控制器处接收读取命令,在读取路径控制器处确定与读取命令相对应的索引的匹配,当确定结果指示索引命中时从缓冲存储器读取与读取命令相对应的数据,以及当确定结果指示索引未命中时,在读取路径控制器处通过使用映射表从非易失性存储器件读取与读取命令相对应的数据。
Description
相关申请的交叉引用
本专利申请要求2016年10月31日向韩国知识产权局递交的韩国专利申请10-2016-0143506的优先权,其全部公开内容通过引用合并于此。
技术领域
本公开的实施例涉及存储设备及其操作方法。
背景技术
随着半导体制造技术的发展,与存储设备通信的主机的操作速度得到提高。主机可以是例如计算机、智能电话或智能板,并且可以包括存储设备或者可以与存储设备物理地分离。此外,存储设备和对应主机设备中使用的内容的大小正在增长。因此,正在开发用于提高存储设备的操作速度的技术。
发明内容
本公开的实施例提供了一种具有提高的读取性能的存储设备及其操作方法。
根据本公开的实施例的一个方面,一种存储设备的操作方法包括:在硬件读取路径控制器处接收读取命令。所述操作方法还包括:在所述读取路径控制器处确定读取命令是否匹配与读取命令相对应的索引。基于确定读取命令匹配所述索引,从缓冲存储器读取与读取命令相对应的数据。基于确定读取命令不匹配所述索引,在读取路径控制器处通过使用映射表从非易失性存储器件读取与读取命令相对应的数据。
根据实施例的另一方面,一种存储设备的操作方法包括:接收读取命令,选择多个读取路径中与所接收的读取命令相对应的读取路径,以及通过所选择的读取路径读取缓冲存储器中存储的数据。读取路径包括第一读取路径、第二读取路径和第三读取路径。第一读取路径包括:读取路径控制器解释读取命令,从映射表搜索与读取命令的逻辑地址相对应的物理地址,基于物理地址从非易失性存储器件读取数据,并将读取的数据存储在缓冲存储器中。第二读取路径包括:使用固件来解释读取命令,从映射表搜索与读取命令的逻辑地址相对应的物理地址,基于物理地址从非易失性存储器件读取数据,并将读取的数据存储在缓冲存储器中。第三读取路径包括:在读取路径控制器处基于读取命令的逻辑地址读取缓冲存储器中存储的数据。
根据本公开的实施例的另一方面,一种存储设备包括中央处理单元、缓冲存储器、硬件读取路径控制器以及至少一个非易失性存储器件。中央处理单元驱动固件。缓冲存储器存储映射表。读取路径控制器基于确定索引是否匹配读取命令的地址信息的结果,选择第一读取路径、第二读取路径和第三读取路径中的一个。第一读取路径包括:读取路径控制器解释读取命令,从映射表搜索与读取命令的逻辑地址相对应的物理地址,基于物理地址从至少一个非易失性存储器件读取数据,以及将读取的数据存储在缓冲存储器中。第二读取路径包括:所述固件解释读取命令,从映射表搜索与读取命令的逻辑地址相对应的物理地址,基于物理地址从至少一个非易失性存储器件读取数据,并将读取的数据存储在缓冲存储器中。第三读取路径包括:在读取路径控制器处基于读取命令的逻辑地址读取缓冲存储器中存储的数据。
根据实施例的另一方面,一种存储设备包括具有第一等待时间的读取路径、具有第二等待时间的读取路径、具有第三等待时间的读取路径和具有第四等待时间的读取路径。具有第一等待时间的读取路径响应于固件的读取命令从缓冲存储器输出数据。第二等待时间比第一等待时间短,并且具有第二等待时间的读取路径响应于读取路径控制器的读取命令从缓冲存储器输出数据。第三等待时间比第一等待时间长,并且具有第三等待时间的读取路径响应于固件的读取命令从非易失性存储器件输出数据。第四等待时间比第三等待时间短,并且具有第四等待时间的读取路径响应于读取路径控制器的读取命令从非易失性存储器件输出数据。读取路径控制器是解释所接收的读取命令并搜索具有闪速转换层(FTL)的映射表来访问非易失性存储器件的硬件。
附图说明
根据参考以下附图的以下描述,上述和其他目的和特征将变得显而易见,其中,除非另有说明,否则相似的附图标记在各个附图中指代相似的部件,并且在附图中:
图1是示出了根据本公开实施例的存储设备的图;
图2是示出了图1中所示的范围过滤器的图;
图3是示出了图2中所示的比较器的视图;
图4是示出了根据本公开另一实施例的存储设备的图;
图5是示出了根据本公开另一实施例的存储设备的图;
图6是示出了根据本公开实施例的存储设备的读取方法的流程图;
图7是示出了根据本公开另一实施例的存储设备的读取方法的图;
图8是示出了根据本公开实施例的存储设备的范围过滤器的操作方法的流程图;
图9是示出了根据本公开实施例的存储设备的读取方法的流程图;
图10是示出了根据本公开另一实施例的存储设备的框图;
图11是示出了根据本公开另一实施例的存储设备的框图;
图12是示出了根据本公开实施例的移动设备的图;
图13是示出了根据本公开另一实施例的计算系统的图;以及
图14是示出了根据本公开实施例的数据服务器系统的框图。
具体实施方式
下面,可以详细和清楚地描述本公开的实施例,使得本领域普通技术人员可以容易地实现本文所描述的教导和构思。
图1是示出了根据本公开实施例的存储设备100的图。参考图1,存储设备100可以包括中央处理单元(CPU)110、缓冲存储器120、读取路径控制器130和至少一个非易失性存储器件(NVM)140。
CPU 110可以实现为控制存储设备100的总体操作。CPU 100可以实现为通过使用固件(FW)112管理存储设备100。
读取路径控制器130可以实现为响应于从主机设备10接收的读取命令来选择读取路径。如图1所示,存储设备100可以包括至少三个读取路径:第一读取路径、第二读取路径和第三读取路径。第一读取路径可以是用于在读取路径控制器130处从非易失性存储器件140读取与读取命令相对应的数据的路径。第二读取路径可以是用于在固件FW 112或软件SW(为了描述方便,以下也称为“FW”)处从非易失性存储器件140读取与读取命令相对应的数据的路径。第三读取路径可以是用于在读取路径控制器130处直接从缓冲存储器120读取与读取命令相对应的数据的路径。
在一个实施例中,读取路径控制器130可以实现为由CPU 110选择性地激活或去激活。也就是说,读取路径控制器130可以实现为解释读取命令而无需固件FW 112的介入,通过使用映射表来搜索与读取命令中包括的逻辑地址相对应的物理地址,从非易失性存储器件140读取与物理地址相对应的数据,将读取的数据存储在缓冲存储器120中,并且将缓冲存储器120中存储的数据输出到主机设备10。这里,在初始化存储设备100的同时可以将映射表加载到缓冲存储器120中。
换句话说,读取路径控制器130可以由例如CPU 110预先授权,以解释读取命令而不需要CPU 110的固件FW 112。在初始化期间,在初始化存储设备100的同时可以将映射表加载到缓冲存储器120中,然后在接收到读取命令时由读取路径控制器130使用映射表。读取路径控制器130通过操作/处理读取命令来减轻对CPU 110或CPU 110的固件FW 112的任何负担。此外,如下所述,当读取路径控制器130确定数据例如不在缓冲存储器120中时,可以使用映射表来识别非易失性存储器件140的物理地址以获取数据。
在一个实施例中,读取路径控制器130可以实现为包括范围过滤器132。范围过滤器132可以实现为通过将读取命令中包括的地址与预先存储的索引进行比较来确定命中/未命中。这里,每个索引可以包括与缓冲存储器120中存储的数据相对应的地址。
当地址彼此一致时,也就是说,当发生命中时,可以由读取路径控制器130对缓冲存储器120直接执行与读取命令相对应的读取操作。当地址彼此不同时,也就是说,当发生未命中时,可以由读取路径控制器130执行与读取命令相对应的读取操作,而无需固件FW112的介入或由固件FW 112执行。也就是说,即使当读取路径控制器130对地址的检查没有导致确定所寻求的数据存储在缓冲存储器120中时,读取路径控制器130仍然可以获取数据,而不特别需要包括固件FW 112的CPU的介入或处理。在一个实施例中,可以通过诸如顺序读取、要读取的数据的大小和数据冲突之类的一个或多个条件来确定读取操作是否伴随固件FW 112的介入。这里,数据冲突可以是针对写入操作的写入数据存在于缓冲存储器120中的情况。
例如,在预取读取操作的情况下,通过第二读取路径预取的数据可以存储在缓冲存储器120中。之后,范围过滤器132可以存储至少一个索引,该至少一个索引包括例如与预取的数据相对应的逻辑地址。
根据本公开的实施例,存储设备100可以使用诸如读取路径控制器130等硬件来确定索引匹配,从而防止通过不同读取路径的读取操作的冲突,从而提高读取速度。
根据本公开的实施例,存储设备100可以包括用于选择读取路径的范围过滤器132,从而提高读取操作的速度和可靠性。
图2是示出了图1中所示的范围过滤器132的图。参考图2,范围过滤器132可以包括多个寄存器组132-1和比较器132-2。
寄存器组132-1可以实现为在CPU110(参考图1)的控制下分别存储索引Index 1至Index i(i是2或更大的整数)。这里,每个索引可以包括与索引是否有效有关的信息、起始逻辑地址、结束逻辑地址和命名空间信息。每个索引可以包括与例如缓冲存储器120中存储的数据的逻辑地址相关联的地址信息。
在一个实施例中,从主机设备10(参考图1)接收的读取命令可以包括起始逻辑地址、结束逻辑地址、命名空间信息。
比较器132-2可以实现为将每个索引的地址信息与接收的读取命令的地址信息进行比较,并且输出命中/未命中作为比较结果。
应当理解,图2中所示的每个索引的配置仅是不限制本公开的范围和精神的实施例。索引可以实现为在各种方案中存储地址信息。
图3是示出了图2中所示的比较器132-2的图。参考图3,比较器132-2可以包括多个异或(XOR)逻辑电路(第一逻辑电路)和OR逻辑电路(第二逻辑电路)。
XOR逻辑电路中的每一个可以实现为对索引Index 1至Index i中对应的一个索引和读取命令的地址信息执行XOR运算。
OR逻辑电路可以实现为对XOR逻辑电路的输出值执行OR运算。这里,OR逻辑电路的输出值可以是指示索引命中或索引未命中的值。
图3中所示的比较器132-2的配置仅是不限制本公开的范围和精神的实施例。比较器132-2可以以各种方案实现。
根据本公开的实施例,存储设备100还可以包括纠错电路。
图4是示出了根据本公开另一实施例的存储设备200的图。参考图4,存储设备200可以包括至少一个非易失性存储器件(NVM)210和控制非易失性存储器件210的控制器220。
非易失性存储器件210可以实现为存储数据。非易失性存储器件210可以是NAND闪存、竖直NAND闪存(VNAND)、NOR闪存、电阻随机存取存储器(RRAM)、相变存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移扭矩随机存取存储器(STT-RAM)等。
此外,非易失性存储器件可以实现为具有三维(3D)阵列结构。在本公开的实施例中,提供了一种3D存储器阵列。3D存储器阵列在存储器单元阵列的一个或多个物理层级中单片地形成,所述存储器单元阵列具有设置在硅衬底上方的有源区域以及与那些存储器单元的操作相关联的电路,而不论这种相关联的电路在衬底上方还是在衬底内。与存储器单元的操作相关的电路可以位于衬底中或衬底上。术语“单片(monolithic)”意味着阵列的每一层级的层直接沉积在阵列的每一下层级的层上。
在本公开的实施例中,该3D存储器阵列包括竖直取向的竖直NAND串,使得至少一个存储器单元位于另一存储器单元之上。至少一个存储器单元可以包括电荷捕获层。每个竖直NAND串可以包括位于存储器单元之上的至少一个选择晶体管。至少一个选择晶体管可以具有与存储器单元的结构相同的结构,并且与存储器单元一起单片地形成。
三维存储器阵列由多个层级形成,并且具有在层级之间共享的字线或位线。通过引用并入本文的以下专利文献描述了用于三维存储器阵列的合适配置,其中由三星电子株式会社申请的三维存储器阵列被配置为具有在层级之间共享的字线和/或位线的多个层级:美国专利No.7,679,133;8,553,466;8,654,587;8,559,235;以及美国专利公开No.2011/0233648。根据本公开的示例性实施例的非易失性存储器可以适用于将绝缘层用作电荷存储层的电荷捕获闪存(CTF)以及将导电浮栅用作电荷存储层的闪存设备。
控制器220可以包括至少一个CPU 221、缓冲存储器222、纠错电路(ECC)223、主机接口(HIF)224和非易失性存储器接口(NIF)225。
缓冲存储器222可以实现为临时存储控制器220的操作所需的数据。例如,在图4中,缓冲存储器222可以布置在控制器220内。然而,本公开的实施例可不限于此。缓冲存储器222可以布置在控制器220的外部。在实施例中,缓冲存储器222可以是随机存取存储器(RAM)、静态随机存取存储器(SRAM)、相变随机存取存储器(PRAM)等。
纠错电路223可以计算在写入操作中要编程的数据的纠错码的值,可以基于纠错码的值校正在读取操作中读取的数据,并且可以校正在数据恢复操作中从非易失性存储器件210恢复的数据的错误。纠错电路223可以产生用于校正从非易失性存储器件210接收的数据的故障位或错误位的纠错码ECC。此外,纠错电路223可以通过对要提供给非易失性存储器件210的数据执行纠错编码来生成添加了奇偶校验位的数据。奇偶校验位可以存储在非易失性存储器件210中。此外,纠错电路223可以对从非易失性存储器件210输出的数据执行纠错解码。
纠错电路223可以实现为通过使用奇偶校验信息来校正错误。纠错电路223可以通过使用诸如低密度奇偶校验(LDPC)码、Bose、Chaudhuri、Hocque-nghem(BCH)码、turbo码、Reed-Solomon码、卷积码、递归系统码(RSC)、网格编码调制(TCM)或块编码调制(BCM)之类的编码调制来校正错误。
尽管图4中未示出,但是可以在控制器220中进一步包括存储操作控制器220所需的代码数据的代码存储器。代码存储器可以用非易失性存储器件来实现。
主机接口224可以实现为提供用于与外部设备进行接口连接的接口功能。主机接口224可以通过如下通信接口与主机设备10(参考图1)连接:非易失性存储器快速(NVMe)、外围组件互连快速(PCIe)、串行连接(SATA)、小型计算机系统接口(SCSI)、串行连接SCSI(SAS)、通用存储总线(USB)连接SCSI(UAS)、互联网小型计算机系统接口(iSCSI)、光纤通道或以太网光纤通道(FCoE)。
主机接口224可以包括参考图1至3描述的读取路径控制器224-1。读取路径控制器224-1可以实现为包括范围过滤器224-2。
非易失性存储器接口(NIF)225可以提供用于与非易失性存储器件210进行接口连接的接口功能。在读取操作中控制非易失性存储器接口225的主体可以是CPU 221的固件FW和读取路径控制器224-1中的任何一个。
在实施例中,默认读取操作可以包括:在读取路径控制器224-1处,从非易失性存储器件210读取数据,而无需固件FW的介入,校正读取的数据的错误,并且通过缓冲存储器222将校正的数据输出到外部。
在实施例中,预取读取操作可以包括:在固件FW处,预先从非易失性存储器件210读取数据,校正读取的数据的错误,并将校正的数据存储在缓冲存储器222中,然后可以包括:将缓冲存储器222中存储的数据输出到外部。对于预取操作,固件FW可以实现为管理缓冲存储器222。
在实施例中,当针对预取操作,数据存储在缓冲存储器222中时,范围过滤器224-2可以实现为存储与固件FW存储的数据相对应的索引。
根据本公开的实施例,存储设备100还可以包括直接存储器访问(DMA)电路。
图5是示出了根据本公开另一实施例的存储设备300的图。参考图5,存储设备300可以包括CPU 310、读DMA电路315、DRAM 320、NVMe接口340、NAND接口350和至少一个NAND闪存器件360。
在存储设备300的初始化操作中,固件FW 312可以设置是否激活读取路径控制器342,并且可以在DRAM 320中加载闪速转换层FTL。之后,如果从主机设备10接收到读取命令,则读取路径控制器342可以解释所接收的读取命令,并且可以通过使用加载在DRAM 320中的FTL来控制NAND接口350执行读取操作,该读取操作对应于与读取命令相对应的物理地址。NAND接口350可以响应于经解释的读取命令从NAND闪存器件360读取数据,并且可以将读取的数据发送到读DMA电路315。读DMA电路315可以将接收到的数据发送到用作缓冲存储器的DRAM 320。之后,读取路径控制器342可以将缓冲存储器320中存储的数据输出到主机设备10。
与上述读取操作不同,固件312可以解释读取命令,并且可以通过使用DRAM 320中的FTL来控制NAND接口350。
图6是示出了根据本公开实施例的存储设备的读取方法的流程图。将参考图1至图6描述存储设备的读取操作。
可以在存储设备中执行初始化操作。这里,初始化操作可以包括:在缓冲存储器中加载硬件设置操作(例如,设置读取路径控制器)和管理所需的元数据(例如,FTL)(S110)。之后,可以从主机设备接收读取命令(8120)。读取路径控制器的范围过滤器可以确定读取命令的地址信息是否包含在索引中存储的地址信息中。也就是说,可以确定索引匹配(S130)。例如,可以将经由读取命令提供的逻辑地址与索引中存储的地址进行比较。当逻辑地址与索引中存储的地址匹配时,确认匹配。
当发生索引匹配时,该匹配可以指示与读取命令相对应的数据存储在缓冲存储器中。在这种情况下,可以执行缓冲器读取以从缓冲存储器读取与读取命令相对应的数据(S140)。可以使用例如经由读取命令提供的逻辑地址来读取数据。
相反,当发生索引未命中时,该未命中可以指示与读取命令相对应的数据没有存储在缓冲存储器中。在一个实施例中,读取路径控制器可以解释读取命令,并且可以从非易失性存储器件读取与经解释的读取命令相对应的数据。在另一实施例中,固件可以解释读取命令,并且可以从非易失性存储器件读取与经解释的读取命令相对应的数据(S150)。
根据本公开的实施例,基于索引匹配/未命中,存储设备可以执行直接缓冲器读取或间接缓冲器读取。直接缓冲器读取涉及从缓冲存储器直接读取对应数据。间接缓冲器读取涉及直接从非易失性存储器件读取对应数据。
图7是示出了根据本公开另一实施例的存储设备的读取方法的图。将参考图1至图5和图7来描述存储设备的读取操作。
可以从主机设备接收读取命令(S210)。读取命令可以是顺序读取命令或随机读取命令。可以通过读取路径控制器的范围过滤器来选择与读取命令相对应的最优读取路径(S220)。例如,在顺序读取命令的情况下,可以选择针对预取读取操作的读取路径。在随机读取命令的情况下,可以选择读取路径控制器的读取路径。可以使用上述读取路径的类型来确定是否需要CPU/FW/SW的介入。读取路径控制器可以通过所选择的读取路径从缓冲存储器读取与读取命令相对应的数据(S230)。
根据本公开的实施例,存储设备的读取操作可以具有与在预取操作的情况下对缓冲存储器的访问相对应的第一等待时间,以及与在无需固件FW介入的情况下的随机读取操作相对应的第二等待时间。这里,第二等待时间可以比第一等待时间长,并且可以比与固件FW介入(例如,需要)的读取路径相对应的第三等待时间短。
图8是示出了根据本公开实施例的存储设备的范围过滤器的操作方法的流程图。将参考图1至图8描述范围过滤器的操作方法。
固件FW可以管理预取读取操作。如果执行预取读取操作,则可以预先将数据从非易失性存储器件加载到缓冲存储器。在这种情况下,固件FW可以在范围过滤器中设置与预取读取操作相对应的第一索引(S310)。这里,索引设置可以与图2中所示的索引设置相同。
此外,固件FW可以管理写入操作。根据写入操作,写入数据可以在被首先存储在缓冲存储器中之后被写入非易失性存储器件中。在将写入数据写入非易失性存储器件之后,可以发出写提交(write commit)。如果写入数据被存储在缓冲存储器中,则固件FW可以在范围过滤器中设置与写入数据相对应的第二索引(S320)。在一个实施例中,第二索引可以在写提交之前有效。在另一实施例中,即使在写提交之后,第二索引也可以是有效的。
之后,如果接收到读取命令,则范围过滤器可以将读取命令与第一和第二索引进行比较,并且可以基于比较结果输出索引匹配/未命中(S330)。
在图8所示的实施例中,从S310到S330的操作是顺序的。然而,本公开的实施例可不限于此。应当理解,操作S310到操作S330可以以不同的或甚至任意的顺序进行,并且可以执行附加操作。
根据本公开的另一实施例,存储设备可以基于数据的大小来选择读取路径。
图9是示出了根据本公开实施例的存储设备的读取方法的流程图。将参考图1至图5和图9来描述存储设备的读取操作。
读取路径控制器可以从主机设备10接收读取命令(S410)。读取路径控制器可以解码读取命令。可以根据基于解码的读取命令而确定的要读取数据的大小来选择读取路径(S420)。例如,如果数据的大小不小于预定值,则可以选择固件FW介入的读取路径。相反,如果数据的大小小于预定值,则可以选择读取路径控制器直接访问非易失性存储器件而无需固件FW介入的读取路径。之后,可以通过所选择的读取路径将缓冲存储器中存储的数据作为读取数据输出(S430)。
根据上述读取操作,能够通过读取路径读取和输出数据,其中该读取路径根据要读取的数据的大小而变化。
存储设备可以包括根据是否需要固件FW介入而选择的不同读取路径。
图10是示出了根据本公开另一实施例的存储设备的框图。参考图10,存储设备(SSD)400可以包括读取路径410、读取路径420、读取路径430和读取路径440。在读取路径410中,在固件FW的介入下从缓冲存储器读取数据。在读取路径420中,从缓冲存储器读取数据,而不需要固件FW的介入。在读取路径430中,在固件FW的介入下从非易失性存储器NVM读取数据。在读取路径440中,从非易失性存储器NVM读取数据,而不需要固件FW的介入。
在实施例中,读取路径420的等待时间L2可以比读取路径410的等待时间L1短。
在实施例中,读取路径430的等待时间L3可以比读取路径410的等待时间L1长。此外,读取路径430的等待时间L3可以比读取路径420的等待时间L2长。
在实施例中,读取路径440的等待时间L4可以比读取路径430的等待时间L3短。此外,读取路径440的等待时间L4可以比读取路径420的等待时间L2长。
根据本公开的另一实施例,存储设备包括只读路径和分离的只写路径。
图11是示出了根据本公开另一实施例的存储设备的框图。参考图11,存储设备500可以包括只读路径控制器510和只写路径控制器520。只读路径控制器510可以实现为在没有固件FW介入的情况下执行读取操作。此外,只写路径控制器520可以实现为在固件FW的介入下执行写入操作。
本公开的实施例可以应用于移动设备。
图12是示出了根据本公开实施例的移动设备1000的框图。参考图12,移动设备1000可以包括处理器(AP/ModAP)1100、缓冲存储器1200、显示/触摸模块1300和存储设备1400。
处理器1100可以实现为控制移动设备1000的整体操作和与外部设备的有线/无线通信。例如,处理器1100可以是应用处理器(AP)、集成调制解调器应用处理器(ModAP)等。
处理器1100可以包括认证代理、可信执行环境(TEE)和安全芯片。安全芯片可以用软件和/或防篡改硬件实现,可以允许高级别安全性,并且可以与处理器1100的可信执行环境(TEE)协作。例如,安全芯片可以在TEE中执行加密和解密操作、MAC密钥生成/验证等。安全芯片可以包括本机操作系统(OS)、作为内部数据存储器的安全存储设备、控制授权访问安全芯片的访问控制块、执行所有权管理、密钥管理、数字签名、加密/解密等的安全功能块、以及更新安全芯片的固件的固件更新块。安全芯片可以是通用IC卡(UICC)(例如,USIM、CSIM和ISIM)、订户标识模块(SIM)卡、嵌入式安全元件(eSE)、微型SD、标贴等。
缓冲存储器1200可以实现为临时存储移动设备1000的处理操作所需的数据。在实施例中,缓冲存储器1200可以用DRAM、SRAM、MRAM等来实现。缓冲存储器1200可以包括未加密数据区域和加密数据区域。这里,加密数据区域可以存储由安全芯片加密的数据。
显示/触摸模块1300可以实现为显示由处理器1100处理的数据或者从触摸面板接收数据。
存储设备1400可以实现为存储用户的数据。存储设备1400可以是嵌入式多媒体卡(eMMC)、固态驱动器(SSD)、通用闪速存储器(UFS)等。存储设备1400可以包括参考图1至图11描述的存储设备。
根据本公开的实施例,移动设备1000可以基于诸如数据类型/输入/输出情况等环境来改变读取路径,从而优化读取等待时间。
根据本公开的实施例,存储设备可以用作主存储器。
图13是示出了根据本公开另一实施例的计算系统2000的图。参考图13,计算系统2000可以包括处理器2100、存储器模块(DIMM)2200和非易失性存储器(NVM)2300。
存储器模块2200可以通过DDR接口连接到处理器2100。存储器模块2200可以实现为执行非易失性存储器2300的高速缓存功能。
非易失性存储器2300可以基于DDR-T(事务)接口来输入和输出数据。在这种情况下,在实施例中,非易失性存储器2300可以是3D-Xpoint存储器。非易失性存储器2300可以用参考图1至图11描述的存储设备来实现。
根据本公开的实施例,存储设备可以应用于数据服务器。
图14是示出了根据本公开实施例的数据服务器系统3000的框图。参考图14,数据服务器系统3000可以包括关系数据库管理系统(RDBMS)3100、高速缓存服务器3200和应用服务器3300。
响应于来自关系数据库管理系统3100的无效通知,高速缓存服务器3200可以实现为保持和删除不同的密钥和值对。关系数据库管理系统3100、高速缓存服务器3200和应用服务器3300中的至少一个可以用参考图1至图11描述的存储设备来实现。
根据本公开的实施例,存储设备可以包括硬线NAND读取路径。这里,硬线NAND读取路径可以是一系列路径,用于当主机发出读取命令时,在硬件处解释命令,而无需设备的内部固件/软件(FW/SW)的任何介入,以提高低等待时间读取的性能,搜索图(用于映射逻辑块地址(LBA)和物理NAND地址的表),从NAND存储器件读取数据,将读取的数据发送到主机,以及向主机发送完成。
根据本公开的实施例,为了优化低等待时间读取的性能,存储设备可以包括硬件(例如,范围过滤器),该硬件用于防止与同一LBA上的NAND读取操作的冲突,该冲突是由于硬线NAND读取路径中没有固件FW介入的预取读取操作而引起的。当存储设备从主机接收与当前执行预取的特定LBA有关的读取命令时,存储设备可以从缓冲存储器直接发送数据,而无需硬线NAND读取路径进行重复NAND读取,从而提高等待时间或吞吐量。
由于固件FW在预取操作中在范围过滤器处登记了预取区域,所以存储设备可以从缓冲存储器直接发送预取的数据,而无需在硬线NAND读取路径中预取的LBA上的重复NAND读取请求,从而提高等待时间或吞吐量。
在存在范围过滤器的硬线NAND读取路径的情况下,可以在范围过滤器处登记通过软件NAND读取路径预取的LBA的范围信息。然后,当存储设备从主机接收到针对相同LBA的读取命令时,存储设备可以从缓冲存储器发送预取的数据而无需NAND存储器件上的重复读取操作。
根据本公开的实施例,范围过滤器的操作方法可以包括:通过经由固件将区域(例如,预取区域)的命名空间标识符、起始逻辑块地址(起始LBA)和结束逻辑块地址(结束LBA)输入到特定索引来验证对应索引,其中该区域的硬线NAND读取路径被阻挡;通过范围过滤器接收主机的读取命令的LBA值;以及当将输入到每个索引的LBA区域与主机的读取命令的LBA值进行比较的结果指示主机的读取命令的LBA值与登记在范围过滤器处的区域相匹配时,不操作硬线NAND读取路径。
根据本公开的实施例,可以在硬件方案中确定索引匹配,从而防止不同读取路径的读取操作之间的冲突并提高读取速度。
尽管已经参照示例性实施例描述了本公开,但是对于本领域技术人员来说显而易见的是,在不脱离本公开的精神和范围的情况下,可以进行各种改变和修改。因此,应当理解,上述实施例不是限制性的,而是示意性的。
Claims (20)
1.一种存储设备的操作方法,所述方法包括:
在硬件读取路径控制器处接收读取命令;
在所述读取路径控制器处确定所述读取命令是否匹配与所述读取命令相对应的索引;
基于确定所述读取命令匹配所述索引,从缓冲存储器读取与所述读取命令相对应的数据;以及
基于确定所述读取命令不匹配所述索引,通过使用映射表从非易失性存储器件读取与所述读取命令相对应的数据。
2.根据权利要求1所述的方法,还包括:
在固件处设置是否在初始化操作中激活所述读取路径控制器。
3.根据权利要求1所述的方法,还包括:
在固件处,在初始化操作中将所述映射表加载到缓冲存储器中。
4.根据权利要求1所述的方法,还包括:
在所述读取路径控制器处解释所述读取命令;以及
从所述映射表搜索与所述读取命令的逻辑地址相对应的物理地址。
5.根据权利要求1所述的方法,其中,所述读取路径控制器包括多个索引,每个索引指示与所述缓冲存储器中存储的数据相对应的不同地址,以及
其中,所述方法还包括:
在固件处设置所述多个索引。
6.根据权利要求5所述的方法,其中,所述多个索引包括一个或多个第一索引,以及
其中,所述方法还包括:
在所述固件处设置与预取读取操作相对应的所述一个或多个第一索引。
7.根据权利要求5所述的方法,其中,所述多个索引包括一个或多个第二索引,以及
其中,所述方法还包括:
当在缓冲存储器中存在写入数据时,在所述固件处设置所述一个或多个第二索引。
8.根据权利要求5所述的方法,其中,所述多个索引中的每一个包括其有效性信息。
9.根据权利要求1所述的方法,其中,当与所述读取命令相对应的数据的大小小于预定值时,所述读取路径控制器通过使用所述映射表在读取访问中从所述非易失性存储器件读取与所述读取命令相对应的数据。
10.根据权利要求9所述的方法,其中,当与所述读取命令相对应的数据的大小不小于所述预定值时,固件使用所述映射表在读取访问中从所述非易失性存储器件读取与所述读取命令相对应的数据。
11.根据权利要求10所述的方法,其中,由所述读取路径控制器执行的读取访问的等待时间短于由所述固件执行的读取访问的等待时间。
12.根据权利要求1所述的方法,其中,从所述非易失性存储器件读取的数据通过直接存储器访问DMA电路被发送到所述缓冲存储器。
13.一种存储设备的操作方法,所述方法包括:
接收读取命令;
选择多个读取路径中与所接收的读取命令相对应的读取路径;以及
通过所选择的读取路径读取缓冲存储器或非易失性存储器件中存储的数据,
其中,所述多个读取路径包括第一读取路径、第二读取路径和第三读取路径,
其中,所述第一读取路径包括:读取路径控制器解释所述读取命令,从映射表搜索与所述读取命令的逻辑地址相对应的物理地址,基于所述物理地址从所述非易失性存储器件读取数据,并且将读取的数据存储在所述缓冲存储器中,
其中,所述第二读取路径包括:使用固件来解释所述读取命令,从所述映射表搜索与所述读取命令的逻辑地址相对应的物理地址,基于所述物理地址从所述非易失性存储器件读取数据,并且将读取的数据存储在所述缓冲存储器中,以及
其中,所述第三读取路径包括:在所述读取路径控制器处基于所述读取命令的逻辑地址读取所述缓冲存储器中存储的数据。
14.根据权利要求13所述的方法,
其中,所述读取路径控制器包括硬件,以及
其中,选择读取路径包括:
在所述读取路径控制器的范围过滤器处,通过将所述读取命令的逻辑地址与多个索引中的每一个进行比较来确定所述读取命令是否匹配索引。
15.根据权利要求13所述的方法,其中,选择读取路径包括:
基于与所述读取命令相对应的数据的大小来选择读取路径。
16.一种存储设备,包括:
中央处理单元,配置为驱动固件;
缓冲存储器,配置为存储映射表;
硬件读取路径控制器,配置为基于确定索引是否匹配读取命令的地址信息的结果来选择第一读取路径、第二读取路径和第三读取路径中的一个;以及
至少一个非易失性存储器件,
其中,所述第一读取路径包括:所述读取路径控制器解释所述读取命令,从所述映射表搜索与所述读取命令的逻辑地址相对应的物理地址,基于所述物理地址从所述至少一个非易失性存储器件读取数据,并将读取的数据存储在所述缓冲存储器中,
其中,所述第二读取路径包括:所述固件解释所述读取命令,从所述映射表搜索与所述读取命令的逻辑地址相对应的物理地址,基于所述物理地址从所述至少一个非易失性存储器件读取数据,以及将读取的数据存储在所述缓冲存储器中,以及
其中,所述第三读取路径包括:在所述读取路径控制器处基于所述读取命令的逻辑地址读取所述缓冲存储器中存储的数据。
17.根据权利要求16所述的存储设备,其中,所述读取路径控制器包括:
范围过滤器,配置为确定所述索引是否匹配所述读取命令的地址信息,
其中,所述范围过滤器包括:
寄存器,配置为存储多个索引;以及
比较器,配置为通过将所述读取命令的地址信息与所述多个索引中的每一个中包括的地址信息进行比较来确定索引匹配或索引未命中,以及
其中,所述多个索引中的每一个包括与所述缓冲存储器中存储的数据相对应的逻辑地址信息。
18.根据权利要求17所述的存储设备,其中,所述多个索引中的每一个包括:
指示对应索引是否有效的有效性信息、起始逻辑地址、结束逻辑地址和命名空间信息。
19.根据权利要求17所述的存储设备,其中,所述比较器包括:
第一逻辑电路,配置为对所述多个索引中的每一个的逻辑地址信息和所述读取命令的逻辑地址信息执行XOR运算;以及
第二逻辑电路,配置为对所述第一逻辑电路的输出值执行OR运算。
20.根据权利要求16所述的存储设备,还包括:
读取直接存储器访问DMA电路,配置为允许所述读取路径控制器或所述固件执行对所述至少一个非易失性存储器件的读取访问。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160143506A KR20180049338A (ko) | 2016-10-31 | 2016-10-31 | 저장 장치 및 그것의 동작 방법 |
KR10-2016-0143506 | 2016-10-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108021334A true CN108021334A (zh) | 2018-05-11 |
Family
ID=62021331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710903712.8A Pending CN108021334A (zh) | 2016-10-31 | 2017-09-28 | 存储设备及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20180121106A1 (zh) |
KR (1) | KR20180049338A (zh) |
CN (1) | CN108021334A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240952A (zh) * | 2018-08-27 | 2019-01-18 | 北京计算机技术及应用研究所 | 一种高速数据加密NVMe-SATA转换器电路 |
CN110908927A (zh) * | 2018-09-14 | 2020-03-24 | 慧荣科技股份有限公司 | 数据储存装置及其删除命名空间的方法 |
TWI700590B (zh) * | 2019-01-28 | 2020-08-01 | 瑞昱半導體股份有限公司 | 介面轉接電路 |
CN111488303A (zh) * | 2019-01-29 | 2020-08-04 | 瑞昱半导体股份有限公司 | 接口转接电路 |
CN112860175A (zh) * | 2019-11-27 | 2021-05-28 | 西部数据技术公司 | 具有自适应命令处理的非易失性存储系统 |
CN113196253A (zh) * | 2019-05-30 | 2021-07-30 | 西部数据技术公司 | 具有主机周转时间的预测器引擎的存储设备 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108932106B (zh) * | 2017-05-26 | 2021-07-02 | 上海宝存信息科技有限公司 | 固态硬盘访问方法以及使用该方法的装置 |
US10739186B2 (en) * | 2017-11-20 | 2020-08-11 | Samsung Electronics Co., Ltd. | Bi-directional weight cell |
US10552145B2 (en) * | 2017-12-12 | 2020-02-04 | Cypress Semiconductor Corporation | Memory devices, systems, and methods for updating firmware with single memory device |
US11537389B2 (en) | 2017-12-12 | 2022-12-27 | Infineon Technologies LLC | Memory devices, systems, and methods for updating firmware with single memory device |
US11204841B2 (en) * | 2018-04-06 | 2021-12-21 | Micron Technology, Inc. | Meta data protection against unexpected power loss in a memory system |
US10714159B2 (en) | 2018-05-09 | 2020-07-14 | Micron Technology, Inc. | Indication in memory system or sub-system of latency associated with performing an access command |
US10942854B2 (en) | 2018-05-09 | 2021-03-09 | Micron Technology, Inc. | Prefetch management for memory |
US10754578B2 (en) | 2018-05-09 | 2020-08-25 | Micron Technology, Inc. | Memory buffer management and bypass |
US11010092B2 (en) | 2018-05-09 | 2021-05-18 | Micron Technology, Inc. | Prefetch signaling in memory system or sub-system |
US10949117B2 (en) * | 2018-09-24 | 2021-03-16 | Micron Technology, Inc. | Direct data transfer in memory and between devices of a memory module |
KR20200076491A (ko) * | 2018-12-19 | 2020-06-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20200095130A (ko) | 2019-01-31 | 2020-08-10 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
CN113485643B (zh) * | 2021-07-01 | 2023-10-31 | 成都忆芯科技有限公司 | 用于数据存取的方法及数据写入的控制器 |
CN113515234B (zh) * | 2021-07-01 | 2023-10-31 | 成都忆芯科技有限公司 | 一种用于控制数据读出到主机的方法及控制器 |
US11841767B2 (en) | 2021-11-24 | 2023-12-12 | Samsung Electronics Co., Ltd. | Controller controlling non-volatile memory device, storage device including the same, and operating method thereof |
KR102547251B1 (ko) * | 2021-11-24 | 2023-06-26 | 삼성전자주식회사 | 비휘발성 메모리 장치를 제어하는 제어기, 그것을 포함하는 저장 장치 및 그것의 동작 방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538284A (zh) * | 2003-04-14 | 2004-10-20 | ��ʽ���������Ƽ� | 存储设备 |
CN101325089A (zh) * | 2007-06-14 | 2008-12-17 | 三星电子株式会社 | 非易失性存储器件及其编程和读取方法 |
CN104641607A (zh) * | 2012-09-18 | 2015-05-20 | 思科技术公司 | 超低延迟多协议网络设备 |
US20160048332A1 (en) * | 2014-01-17 | 2016-02-18 | Netapp, Inc. | Set-associative hash table organization for efficient storage and retrieval of data in a storage system |
CN105723351A (zh) * | 2013-09-27 | 2016-06-29 | 英特尔公司 | 对存储器控制器进行读训练 |
CN106021141A (zh) * | 2015-03-30 | 2016-10-12 | 瑞萨电子株式会社 | 半导体设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6490654B2 (en) * | 1998-07-31 | 2002-12-03 | Hewlett-Packard Company | Method and apparatus for replacing cache lines in a cache memory |
JP2007011682A (ja) * | 2005-06-30 | 2007-01-18 | Hitachi Ltd | 記憶制御装置及び記憶制御装置のパス切替方法 |
KR101654807B1 (ko) * | 2010-05-07 | 2016-09-07 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US9390018B2 (en) * | 2012-08-17 | 2016-07-12 | Advanced Micro Devices, Inc. | Data cache prefetch hints |
US9626286B2 (en) * | 2014-10-03 | 2017-04-18 | Sandisk Technologies Llc | Hardware and firmware paths for performing memory read processes |
-
2016
- 2016-10-31 KR KR1020160143506A patent/KR20180049338A/ko unknown
-
2017
- 2017-09-28 CN CN201710903712.8A patent/CN108021334A/zh active Pending
- 2017-09-28 US US15/717,991 patent/US20180121106A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538284A (zh) * | 2003-04-14 | 2004-10-20 | ��ʽ���������Ƽ� | 存储设备 |
CN101325089A (zh) * | 2007-06-14 | 2008-12-17 | 三星电子株式会社 | 非易失性存储器件及其编程和读取方法 |
CN104641607A (zh) * | 2012-09-18 | 2015-05-20 | 思科技术公司 | 超低延迟多协议网络设备 |
CN105723351A (zh) * | 2013-09-27 | 2016-06-29 | 英特尔公司 | 对存储器控制器进行读训练 |
US20160048332A1 (en) * | 2014-01-17 | 2016-02-18 | Netapp, Inc. | Set-associative hash table organization for efficient storage and retrieval of data in a storage system |
CN106021141A (zh) * | 2015-03-30 | 2016-10-12 | 瑞萨电子株式会社 | 半导体设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240952A (zh) * | 2018-08-27 | 2019-01-18 | 北京计算机技术及应用研究所 | 一种高速数据加密NVMe-SATA转换器电路 |
CN110908927A (zh) * | 2018-09-14 | 2020-03-24 | 慧荣科技股份有限公司 | 数据储存装置及其删除命名空间的方法 |
TWI700590B (zh) * | 2019-01-28 | 2020-08-01 | 瑞昱半導體股份有限公司 | 介面轉接電路 |
CN111488304A (zh) * | 2019-01-28 | 2020-08-04 | 瑞昱半导体股份有限公司 | 接口转接电路 |
US11138142B2 (en) | 2019-01-28 | 2021-10-05 | Realtek Semiconductor Corporation | Adaptive interface circuit |
CN111488304B (zh) * | 2019-01-28 | 2022-04-15 | 瑞昱半导体股份有限公司 | 接口转接电路 |
CN111488303A (zh) * | 2019-01-29 | 2020-08-04 | 瑞昱半导体股份有限公司 | 接口转接电路 |
TWI703446B (zh) * | 2019-01-29 | 2020-09-01 | 瑞昱半導體股份有限公司 | 介面轉接電路 |
US10970244B2 (en) | 2019-01-29 | 2021-04-06 | Realtek Semiconductor Corporation | Smart interface circuit |
CN113196253A (zh) * | 2019-05-30 | 2021-07-30 | 西部数据技术公司 | 具有主机周转时间的预测器引擎的存储设备 |
CN112860175A (zh) * | 2019-11-27 | 2021-05-28 | 西部数据技术公司 | 具有自适应命令处理的非易失性存储系统 |
Also Published As
Publication number | Publication date |
---|---|
KR20180049338A (ko) | 2018-05-11 |
US20180121106A1 (en) | 2018-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108021334A (zh) | 存储设备及其操作方法 | |
US9817749B2 (en) | Apparatus and method of offloading processing from a data storage device to a host device | |
US10372570B2 (en) | Storage device, test system for testing the same, and method thereof | |
US9063857B2 (en) | Memory system and error correction method | |
US9905314B2 (en) | Storage module and method for datapath bypass | |
US11886339B2 (en) | Secure logical-to-physical caching | |
KR102564774B1 (ko) | 메모리 시스템 혹은 데이터 처리 시스템의 동작을 진단하는 장치 혹은 진단을 통해 신뢰성을 확보하는 방법 | |
CN110473582B (zh) | 存储器系统及其操作方法 | |
US11294814B2 (en) | Memory system having a memory controller and a memory device having a page buffer | |
US9858000B2 (en) | Storage device and sustained status accelerating method thereof | |
CN114253570A (zh) | 控制器、存储设备及存储设备的固件更新方法 | |
US20220413718A1 (en) | Computing system and operating method thereof | |
US20230385395A1 (en) | Storage device with concurrent intialization and fingerprint recognition | |
US20240086337A1 (en) | Data integrity protection for relocating data in a memory system | |
US11550906B2 (en) | Storage system with separated RPMB sub-systems and method of operating the same | |
US20170329709A1 (en) | Memory system having multiple cache pages and operating method thereof | |
US20230289083A1 (en) | Memory device for effectively performing read operation, and operation method thereof | |
US11531476B2 (en) | Memory system and memory system discard method | |
US20230092380A1 (en) | Operation method of memory controller configured to control memory device | |
KR102547251B1 (ko) | 비휘발성 메모리 장치를 제어하는 제어기, 그것을 포함하는 저장 장치 및 그것의 동작 방법 | |
EP4152333A2 (en) | Operation method of memory controller configured to control memory device | |
US20240012703A1 (en) | Storage controllers performing reset operations using setting data, operating methods of storage controllers, and operating methods of storage devices including storage controllers | |
KR20180091268A (ko) | Bch 디코더 및 이의 동작 방법 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180511 |
|
WD01 | Invention patent application deemed withdrawn after publication |