CN110162485B - 存储系统及其操作方法 - Google Patents
存储系统及其操作方法 Download PDFInfo
- Publication number
- CN110162485B CN110162485B CN201811139022.0A CN201811139022A CN110162485B CN 110162485 B CN110162485 B CN 110162485B CN 201811139022 A CN201811139022 A CN 201811139022A CN 110162485 B CN110162485 B CN 110162485B
- Authority
- CN
- China
- Prior art keywords
- task
- tasks
- read
- write
- command
- 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
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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- 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
- 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
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/7211—Wear leveling
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
存储系统及其操作方法。本文可提供一种存储系统和操作该存储系统的方法。该存储系统可包括:存储装置,所述存储装置被配置为执行读取操作和写入操作;以及控制器,所述控制器被配置为控制所述存储装置,使得从主机接收的多个任务基于所述任务的优先级进行排队,并且根据排队的任务的顺序执行与所述任务对应的读取操作或写入操作。所述控制器可将所述多个任务划分为多种类型,根据相应的类型为所述排队的任务分配不同的老化权重,将所述排队的任务中的执行过的任务的老化权重累积到所述排队的任务中的剩余任务中的每一个的饥饿状态确定值,并且使用对应的饥饿状态确定值来确定所述剩余任务中的每一个是否处于饥饿状态。
Description
技术领域
本公开的各种实施方式总体涉及存储系统及其操作方法。具体地,实施方式涉及一种能够防止任务处于饥饿状态的存储系统及其操作方法。
背景技术
计算环境范例已经转移到普适计算,其使得计算机系统能够被随时随地使用。结果,诸如移动电话、数码相机和膝上型计算机之类的便携式电子装置的使用迅速增加。通常,这种便携式电子装置使用采用了存储装置的存储系统,换句话说,使用数据存储装置。数据存储装置被用作便携式电子装置的主存储装置或辅助存储装置。
由于不存在机械驱动部件,因此使用存储装置的数据存储装置提供诸如优异的稳定性和耐用性、高信息访问速度和低功耗之类的优点。作为具有这些优点的存储系统的示例,数据存储装置可包括通用串行总线(USB)存储装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
本公开的各种实施方式针对一种将多个任务划分为读取任务和写入任务,并且为读取任务和写入任务设置针对饥饿状态的不同的老化权重(aging weight)的存储系统,以及一种操作该存储系统的方法。
本公开的一实施方式可提供一种存储系统,该存储系统包括:存储装置,所述存储装置被配置为执行读取操作和写入操作;以及控制器,所述控制器被配置为控制所述存储装置,使得从主机接收的多个任务基于所述任务的优先级进行排队,并且根据排队的任务的顺序执行与所述任务对应的读取操作或写入操作。所述控制器可将所述多个任务划分为多种类型,根据相应的类型为所述排队的任务分配不同的老化权重,将所述排队的任务的执行过的任务的老化权重累积到所述排队的任务的剩余任务中的每一个的饥饿状态确定值,并且使用对应的饥饿状态确定值来确定所述剩余任务中的每一个是否处于饥饿状态。
本公开的一实施方式可提供一种操作存储系统的方法,该方法包括以下步骤:从主机接收命令;确定所述命令是读取命令还是写入命令,并且根据所述命令是读取命令还是写入命令来向所述命令中的多个任务分配对应的老化权重;基于所述任务的优先级对所述多个任务进行排队,并且根据排队的任务的顺序依次执行与所述多个任务对应的操作;当与所述多个任务中的一个任务对应的操作完成时,将与所述一个任务对应的老化权重累积到所述排队的任务的剩余任务中的每一个的饥饿状态确定值;以及将累积的饥饿状态确定值被检测为预定值或更大值的任务确定为紧急任务,并且优先执行所述紧急任务。
本公开的一实施方式可提供一种存储系统,该存储系统包括:存储装置;控制器,所述控制器被配置为:根据多个任务的优先级对所述多个任务进行重新排列和排队,所述任务具有根据其类型的老化权重;控制所述存储装置根据排队的任务执行操作;以及将所述多个任务当中的对应操作被完成的任务的老化权重累积到每个剩余排队的任务,其中,所述控制器控制所述存储装置优先执行与所述剩余排队的任务当中的、累积的老化权重大于阈值的任务对应的操作。
附图说明
图1是例示根据本公开的实施方式的存储系统的框图。
图2是例示根据本公开的实施方式的图1的控制器的配置的框图。
图3是例示根据本公开的实施方式的图1的半导体存储器的框图。
图4是例示根据本公开的实施方式的图3的存储单元阵列的框图。
图5是例示根据本公开的实施方式的图4中示出的存储块的电路图。
图6是例示根据本公开的实施方式的存储系统的操作的流程图。
图7是例示根据本公开的实施方式的存储系统的图。
图8是例示根据本公开的实施方式的存储系统的图。
图9是例示根据本公开的实施方式的存储系统的图。
图10是例示根据本公开的实施方式的存储系统的图。
具体实施方式
现在将参照附图更充分地描述各种实施方式;然而,本公开的元件和特征可被配置或布置得不同于本文所示出或描述的元件和特征。因此,本发明不限于本文阐述的实施方式。相反,提供这些实施方式以使得本公开是彻底的和完整的,并且向本领域技术人员充分传达实施方式的范围。在整个说明书中,对“一实施方式”等的引用不一定指仅一个实施方式,并且对“一实施方式”等的不同引用不一定是指相同的实施方式。
在附图中,为了清楚说明,可能夸大了尺寸。将理解的是,当元件被称为在两个元件“之间”时,该元件可以是这两个元件之间的唯一元件,或者也可存在一个或更多个中间元件。
本文参考系统、装置和中间结构的示意图和截面图来描述实施方式。这样,将预期到由于例如制造技术和/或公差导致的图示形状的变化。因此,实施方式不应被解释为限于本文所例示的组件或区域的特定形状,而是可包括例如由制造产生的形状偏差。在附图中,为了清楚起见,可能夸大了层和区域的长度和尺寸。附图中相似的附图标记标示相似的元件。
可使用诸如“第一”和“第二”之类的术语来标识各种组件,但是它们不应该限制这些组件。这些术语仅用于将具有相同或类似名称的一个组件和其它组件区分开的目的。例如,在不脱离本公开的精神和范围的情况下,第一组件可被称为第二组件,并且第二组件可被称为第一组件等。此外,“和/或”可包括所提及的组件中的任何一个组件或其组合。
此外,单数形式可包括复数形式,反之亦然。此外,本说明书中使用的“包括/包含”及其变型表示存在或添加了一个或更多个组件、步骤、操作和/或元件,但是任何这样的术语并不排除一个或更多个其它组件、步骤、操作和/或元件的存在或添加。
此外,除非另外定义,否则本说明书中使用的包括技术术语和科学术语在内的所有术语均具有与由相关领域的技术人员通常所理解的含义相同的含义。通用字典中定义的术语应该被解释为具有与相关领域的上下文中所解释的含义相同的含义,并且除非在本说明书中另外清楚地定义,否则不应该被解释为具有理想的或过于正式的含义。
也应注意,在本说明书中,“连接/联接”不仅是指一个组件直接联接另一组件,而且指代一个组件通过中间组件间接联接另一组件。另一方面,“直接连接/直接联接”是指一个组件直接联接另一组件而没有中间组件。
图1是例示根据本公开的实施方式的存储系统1000的框图。
参照图1,存储系统1000可包括存储装置1100、控制器1200和缓冲存储器1300。存储装置1100可包括多个半导体存储器100。多个半导体存储器100可被划分成多个组。
在图1中,例示了多个组分别通过第一通道CH1至第n通道CHn与控制器1200通信。将参照图3详细描述每个半导体存储器100。
每个组可通过一个公共通道与控制器1200通信。控制器1200可通过多个通道CH1至CHn控制存储装置1100的多个半导体存储器100。
控制器1200连接在主机1400与存储装置1100之间。控制器1200可响应于从主机1400接收的包括多个任务的命令来访问存储装置1100。例如,控制器1200可响应于从主机1400接收的命令而控制存储装置1100的读取操作、写入操作、擦除操作和后台操作。控制器1200可提供存储装置1100与主机1400之间的接口。控制器1200可运行用于控制存储装置1100的固件。
控制器1200控制存储装置1100以基于从主机1400接收到的任务的数目和优先级来对任务进行重新排列和排队,并且根据排队的任务的顺序执行与任务对应的操作。此后,从主机1400接收的附加任务可基于其优先级与现有的排队的任务一起重新排队。控制器1200可将多个任务划分为多种类型,并且对不同类型的任务设置不同的老化权重,老化权重对应于或指示任务的饥饿状态。
多个任务被划分成的类型主要包括与读取命令对应的读取任务以及与写入命令对应的写入任务。读取任务可进一步划分为正常读取任务和读取回收任务(read reclaimtask)。写入任务可进一步划分为正常写入任务和紧急写入任务。
每次执行排队的任务时,控制器1200可将执行过的任务的老化权重累积或添加到其它排队的任务中的每一个的饥饿状态确定值,并且可确定累积的饥饿状态确定值为设定值或预定值或者更大值的排队的任务是紧急任务,使得该紧急任务可相对于其它排队的任务被优先处理。因此,尽管具有高优先级的新任务被连续地排队并且在这些新任务前生成的任务的执行被延迟,但是被延迟的任务可在经过预定执行时间之后被确定为紧急任务,并且可优先处理被延迟的任务。因此,可防止被延迟的任务处于饥饿状态,从而可防止存储系统1000的性能劣化。
当响应于来自主机1400的请求而执行读取操作时,缓冲存储器1300可临时存储从存储装置1100读取的数据,然后将数据输出到主机1400。当执行写入操作时,缓冲存储器1300可临时存储从主机1400接收的数据,然后将数据输出到存储装置1100。在图1所示的实施方式中,缓冲存储器1300被例示为与控制器1200分开提供的组件。然而,在另一实施方式中,控制器1200可包括缓冲存储器1300。
主机1400可控制存储系统1000。主机1400可包括诸如计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器、相机、摄像机或移动电话之类的便携式电子装置。主机1400可使用命令来请求存储系统1000的写入操作、读取操作、擦除操作等。
控制器1200和存储装置1100可集成到单个半导体装置中。在一实施方式中,控制器1200和存储装置1100可集成到单个半导体装置中以形成存储卡,诸如个人计算机存储卡国际协会(PCMCIA)、紧凑型闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒多媒体卡(MMC、RS-MMC或MMCmicro)、SD卡(SD、miniSD、microSD或SDHC)或通用闪存(UFS)。
控制器1200和存储装置1100可集成到单个半导体装置中以形成固态驱动器(SSD),该固态驱动器可包括被配置为将数据存储到半导体存储器的储存装置。当存储系统1000用作SSD时,可显著提高与存储系统1000联接的主机1400的操作速度。
在一实施方式中,存储系统1000可被设置为诸如计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、游戏机、导航装置、黑匣子、数码相机、三维电视、数字音频记录器、数字音频播放器、数字图像记录器、数字图像播放器、数字视频记录器、数字视频播放器之类的电子装置的各种元件中的一种、能够在无线环境中发送/接收信息的装置、用于形成家庭网络的各种装置中的一种、用于形成计算机网络的各种电子装置中的一种、用于形成远程信息处理网络的各种电子装置中的一种、RFID装置、用于形成计算系统的各种元件中的一种等。
在一实施方式中,存储装置1100或存储系统1000可按照各种封装类型来嵌入。例如,存储装置1100或存储系统1000可按照以下方式封装:堆叠式封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、Waffle封装管芯、晶圆形式管芯、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料四边引线扁平封装(MQFP)、薄四边扁平封装(TQFP)、小外形封装(SOIC)、收缩小外形封装(SSOP)、薄小外形封装(TSOP)、薄四边扁平封装(TQFP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)或晶圆级处理堆栈封装(WSP)。
图2是例示图1的控制器1200的图。
参照图2,控制器1200可包括主机控制电路1210、处理器1220、存储器缓冲电路1230、闪存控制电路1240、任务管理电路1250、主机接口1260、缓冲控制电路1270、缓冲存储器接口1280、纠错码(ECC)电路1290、闪存接口1310和总线1320。
总线1320可提供控制器1200的组件之间的通道。
主机控制电路1210可控制图1的主机1400、主机接口1260与控制器缓冲存储器(即,存储器缓冲电路1230或图1的缓冲存储器1300)之间的数据传输。在一实施方式中,主机控制电路1210可控制将从主机1400输入的数据经由主机接口1260缓冲至存储器缓冲电路1230或缓冲存储器1300的操作。在一实施方式中,主机控制电路1210可控制将缓冲到存储器缓冲电路1230或缓冲存储器1300的数据经由主机接口1260输出到主机1400的操作。
处理器1220可控制控制器1200的整体操作并执行逻辑运算。处理器1220可通过主机接口1260与图1的主机1400通信,并且通过闪存接口1310与图1的存储装置1100通信。处理器1220可通过缓冲存储器接口1280与图1的缓冲存储器1300通信。处理器1220可通过缓冲控制电路1270控制存储器缓冲电路1230。处理器1220可通过使用存储器缓冲电路1230作为操作存储器、缓存存储器或缓冲存储器来控制存储系统1000的操作。当从主机1400接收到命令时,处理器1220可基于命令中包括的多个任务的优先级对多个任务进行重新排列,并使重新排列后的任务进行排队。此外,处理器1220可将多个任务划分为多种类型,即,划分为正常读取任务、读取回收任务、正常写入任务和紧急写入任务,并且向相应的任务应用不同的老化权重。优先级可由主机1400分配,或者可根据控制器1200的管理策略来分配。当从主机1400接收到新命令时,处理器1220可使先前排队的任务和新命令中所包括的多个任务基于它们的优先级进行重新排队。此外,处理器1220可确定由任务管理电路1250确定为处于饥饿状态的任务是紧急任务,并且可对任务进行重新排队以使得该紧急任务变为最高优先级任务。
存储器缓冲电路1230可用作处理器1220的操作存储器、缓存存储器或缓冲存储器。存储器缓冲电路1230可存储要由处理器1220执行的代码和命令。存储器缓冲电路1230可存储要由处理器1220处理的数据。存储缓冲电路1230可包括静态RAM(SRAM)或动态RAM(DRAM)。存储器缓冲电路1230可存储由处理器1220排队的多个任务。
闪存控制电路1240可响应于排队的任务而生成并输出用于控制存储装置1100的内部命令。在一实施方式中,响应于正常写入任务,闪存控制电路1240可控制将缓冲到存储器缓冲电路1230或图1的缓冲存储器1300的数据发送并编程至存储装置1100操作。响应于正常读取任务,闪存控制电路1240可控制对存储在存储装置1100中的数据进行读取并将读取的数据存储到存储器缓冲电路1230或图1的缓冲存储器1300的读取操作。响应于读取回收任务,闪存控制电路1240可控制对读取的数据执行纠错操作并将纠错后的数据存储到存储装置1100的另一位置的读取回收操作。响应于紧急写入任务,闪存控制电路1240可控制将存储装置1100的存储块中存储的数据复制到任意存储块的垃圾收集(garbagecollection)操作。闪存控制电路1240可移除执行完成的任务。
任务管理电路1250可管理由处理器1220进行排队的多个任务的饥饿状态确定值。当任务的饥饿状态确定值为预定值或更大值时,任务管理电路1250可确定这样的任务是饥饿任务。当由闪存控制电路1240当前执行的任务完成时,任务管理电路1250可将分配给完成的任务的老化权重累积或添加到当前排队的任务中的每一个的饥饿状态确定值并更新它们的饥饿状态确定值。
在一实施方式中,任务管理电路1250可将每个任务的饥饿状态确定值存储到存储器缓冲电路1230并管理饥饿状态确定值。
在一实施方式中,任务管理电路1250可以是处理器1220的组件,或者可以是闪存控制电路1240的组件。
主机接口1260可在处理器1220的控制下与图1的主机1400通信。主机接口1260可使用诸如以下各种通信方法中的至少一种来执行通信:通用串行总线(USB)、串行AT附件(SATA)、串行连接SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、快速PCI(PCIe)、快速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储模块(DIMM)、注册DIMM(RDIMM)和负载减少DIMM(LRDIMM)通信方法。
缓冲控制电路1270可在处理器1220的控制下控制存储器缓冲电路1230。
缓冲存储器接口1280可在处理器1220的控制下与图1的缓冲存储器1300通信。缓冲存储器接口1280可通过通道与缓冲存储器1300进行命令、地址和数据的通信。
ECC电路1290可执行纠错。ECC电路1290可基于要通过闪存接口1310写入到图1的存储装置1100的数据来执行ECC编码。ECC编码后的数据可通过闪存接口1310发送到存储装置1100。ECC电路1290可对通过闪存接口1310从存储装置1100接收的数据执行ECC解码。例如,ECC电路1290可以是闪存接口1310的组件。
闪存接口1310可在处理器1220的控制下与图1的存储装置1100通信。闪存接口1310可通过通道与存储装置1100进行控制信号、地址和数据的通信。在存储装置1100已成功完成操作或发生错误使得操作失败的情况下,闪存接口1310可接收对应的报告信号。
图3是例示根据本公开的实施方式的图1的半导体存储器100的框图。
参照图3,半导体存储器100可包括:存储单元阵列110,其包括多个存储块BLK1至BLKz;以及外围电路PERI,其被配置为对多个存储块BLK1至BLKz的被选页中所包括的存储单元执行写入操作、读取操作或擦除操作。外围电路PERI可包括控制电路120、电压供应电路130、页缓冲器组140、列解码器150和输入/输出电路160。
存储单元阵列110可包括多个存储块BLK1至BLKz。存储块BLK1至BLKz中的每一个可包括多个页。多个页中的每一个可包括多个存储单元。在一实施方式中,多个存储单元可以是非易失性存储单元。这将参照图4和图5更详细地描述。
控制电路120可响应于通过输入/输出电路160从外部装置输入的内部命令CMD而输出用于生成执行读取操作、写入操作或擦除操作所需的电压的电压控制信号VCON,并且根据操作类型而输出用于控制页缓冲器组140中的页缓冲器PB1至PBk的PB控制信号PBCON。此外,控制电路120可响应于通过输入/输出电路160从外部装置输入的地址信号ADD而输出行地址信号RADD和列地址信号CADD。
电压供应电路130可响应于控制电路120的电压控制信号VCON而将存储单元的写入操作、读取操作和擦除操作所需的操作电压供应给被选存储块的包括漏极选择线、字线WL和源极选择线在内的本地线。电压供应电路130可包括电压产生电路和行解码器。
电压产生电路可响应于控制电路120的电压控制信号VCON而将存储单元的写入操作、读取操作和擦除操作所需的操作电压输出到全局线。
响应于控制电路120的行地址信号RADD,行解码器可将全局线联接到本地线,使得从电压产生电路输出到全局线的操作电压可被发送到存储单元阵列110中的被选存储块的本地线。
页缓冲器组140可包括通过位线BL1至BLk与存储单元阵列110联接的多个页缓冲器PB1至PBk。响应于控制电路120的PB控制信号PBCON,页缓冲器组140的页缓冲器PB1至PBk可根据要存储到存储单元的输入数据,选择性地对位线BL1至BLk进行预充电,或者可感测位线BL1至BLk的电压以便从存储单元读出数据。
列解码器150可响应于从控制电路120输出的列地址信号CADD而选择页缓冲器组140中的页缓冲器PB1至PBk。换句话说,列解码器150可响应于列地址信号CADD而将要存储到存储单元的数据DATA连续地发送到页缓冲器PB1至PBk。此外,在读取操作期间,列解码器150可响应于列地址信号CADD而连续地选择页缓冲器PB1至PBk,使得锁存到页缓冲器PB1至PBk的存储单元的数据DATA可被输出到外部装置。
在写入操作期间,输入/输出电路160可在控制电路120的控制下将要存储到存储单元的输入数据DATA发送到列解码器150,使得数据DATA可被输入到页缓冲器组140。当列解码器150将从输入/输出电路160发送的数据DATA发送到页缓冲器PB1至PBk时,它们可将输入数据DATA存储到其内部锁存电路。在读取操作期间,输入/输出电路160可将通过列解码器150从页缓冲器组140的页缓冲器PB1至PBk发送的数据DATA输出到外部装置。
图4是例示根据本公开的实施方式的图3的存储单元阵列110的框图。
参照图4,存储单元阵列110可包括多个存储块BLK1至BLKz。每个存储块具有三维结构。每个存储块可包括堆叠在基板上的多个存储单元。存储单元沿+X方向、+Y方向和+Z方向布置。将参照图5更详细地描述每个存储块的结构。
图5是例示根据本公开的实施方式的图4中示出的存储块的电路图。
参照图5,每个存储块可包括联接在位线BL1至BLk与公共源极线CSL之间的多个串ST1至STk。换句话说,串ST1至STk可分别与对应的位线BL1至BLk联接并且共同地与公共源极线CSL联接。每个串(例如,ST1)可包括源极联接到公共源极线CSL的源极选择晶体管SST、多个存储单元C01至Cn1以及漏极联接到位线BL1的漏极选择晶体管DST。存储单元C01至Cn1可串联联接在选择晶体管SST和DST之间。源极选择晶体管SST的栅极可联接到源极选择线SSL。存储单元C01至Cn1的栅极可分别联接到字线WL0至WLn。漏极选择晶体管DST的栅极可联接到漏极选择线DSL。
存储块中的存储单元可基于物理页或基于逻辑页来划分。例如,联接到单个字线(例如,WL0)的存储单元C01至C0k可形成单个物理页PAGE0。每个页可以是编程操作或读取操作的基本单元。
图6是例示根据本公开的实施方式的存储系统的操作的流程图。
将参照图1至图6描述根据本公开的实施方式的存储系统的操作。
如果在步骤S610中从主机1400接收到命令,则控制器1200的处理器1220在步骤S620中确定所接收的命令是读取命令还是写入命令。
当所接收的命令是读取命令(步骤S620为“读取命令”)时,接收到的命令中的多个任务被确定为读取任务,并且在步骤S630中确定每个这样的任务是否是读取回收类型RRC。
当读取任务被确定为读取回收类型RRC时(步骤S630为“是”),在步骤S640中基于与要由读取回收任务处理的数据大小对应(换句话说,与对应读取回收任务的任务大小对应)的读取计数值来分配对应读取回收任务的老化权重。
当读取任务被确定为正常读取类型时(步骤S630为“否”),在步骤S650中基于与对应正常读取任务的任务大小对应的读取计数值来分配对应正常读取任务的老化权重。
提供表1以解释基于读取计数进入饥饿状态的排队的读取任务。
[表1]
任务大小 | 任务类型 | 读取计数(RRC) | 读取计数(正常) |
任务大小≥512KB | 读取 | 10 | 125 |
任务大小≥256KB | 读取 | 21 | 125 |
任务大小≥128KB | 读取 | 32 | 125 |
任务大小≥64KB | 读取 | 64 | 125 |
任务大小≥32KB | 读取 | 64 | 250 |
任务大小≥16KB | 读取 | 64 | 500 |
任务大小≥8KB | 读取 | 64 | 1000 |
任务大小<8KB | 读取 | 64 | 2000 |
参照表1,随着任务大小增加,排队的任务可进入饥饿状态的读取计数减小。此外,在读取回收操作RRC的情况下,排队的任务进入饥饿状态的读取计数小于正常读取操作的读取计数。
例如,当任务大小为512千字节(KB)或更大的读取回收任务被执行10次时(即,当其读取计数为10时),在执行的读取回收任务之前排队的任务可进入饥饿状态。当任务大小小于8KB的正常读取任务被执行2000次时(即,当其读取计数为2000时),在执行的正常读取任务之前排队的任务可进入饥饿状态。
基于表1,可向对应的任务分配老化权重。如果任务被确定为处于饥饿状态的预定值被设置为1,则老化权重可以是1/读取计数。例如,在任务大小为512KB或更大的读取回收任务的情况下,要分配的老化权重是1/10。在任务大小小于512KB且为256KB或更大的读取回收任务的情况下,要分配的老化权重是1/21。在任务大小小于256KB且为128KB或更大的读取回收任务的情况下,要分配的老化权重是1/32。在任务大小为512KB或更大的正常读取任务的情况下,要分配的老化权重是1/125。在任务大小小于64KB且为32KB或更大的正常读取任务的情况下,要分配的老化权重是1/250。在任务大小小于8KB的正常读取任务的情况下,要分配的老化权重是1/2000。
当接收到的命令是写入命令(步骤S620为“写入命令”)时,接收到的命令中所包括的多个任务被确定为写入任务,并且在步骤S660中确定每个任务是否被确定为紧急类型Urgent。
如果写入任务被确定为其中必须执行诸如垃圾收集操作之类的紧急操作的紧急类型(步骤S660为“是”),则在步骤S670中基于与要由紧急写入任务处理的数据大小对应(即,与对应紧急写入任务的任务大小对应)的写入计数值来分配对应紧急写入任务的老化权重。
当写入任务被确定为正常类型时(步骤S660为“否”),在步骤S680中基于与对应正常写入任务的任务大小对应的写入计数值来分配对应正常写入任务的老化权重。
提供表2以解释基于写入计数进入饥饿状态的排队的写入任务。
[表2]
任务大小 | 任务类型 | 写入计数(紧急) | 写入计数(正常) |
任务大小≥512KB | 写入 | 10 | 64 |
任务大小≥256KB | 写入 | 21 | 64 |
任务大小≥128KB | 写入 | 32 | 64 |
任务大小<128KB | 写入 | 64 | 64 |
参照表2,在紧急写入任务的情况下,随着任务大小增加,排队的任务可进入饥饿状态的写入计数减小。此外,在正常写入任务的情况下,排队的任务可按恒定的写入计数进入饥饿状态,而不管任务大小如何。通过比较表1和表2,可以看出排队的任务可进入饥饿状态的写入计数的值小于读取计数的值。此外,在紧急写入任务(例如,垃圾收集操作)的情况下,排队的任务可进入饥饿状态的写入计数小于正常写入任务的写入计数。
例如,当任务大小为512千字节(KB)或更大的紧急写入任务被执行10次时(即,当其写入计数为10时),在执行的紧急写入任务之前排队的任务可进入饥饿状态。当任务大小小于8KB的正常写入任务被执行64次时(即,当其写入计数为64时),在执行的正常写入任务之前排队的任务可进入饥饿状态。
基于表2,可向对应任务分配老化权重。如果对应任务被确定为处于饥饿状态的预定值被设置为1,则老化权重可以是1/写入计数。例如,在任务大小为512KB或更大的紧急写入任务的情况下,要分配的老化权重是1/10。在任务大小小于512KB且为256KB或更大的紧急写入任务的情况下,要分配的老化权重是1/21。在其任务大小小于256KB且为128KB或更大的紧急写入任务的情况下,要分配的老化权重是1/32。在任务大小小于128KB的紧急写入任务的情况下,要分配的老化权重是1/64。此外,在正常写入任务的情况下,无论任务大小如何,要分配的老化权重都是1/64。
在步骤S690中,处理器1220基于任务的数目和优先级使接收到的命令中所包括的多个任务进行重新排列和排队。
闪存控制电路1240根据排队的任务的顺序生成并输出用于控制存储装置1100的内部命令。在步骤S700中,存储装置1100响应于内部命令而执行与任务对应的操作,例如,正常读取操作、读取回收操作、正常写入操作或诸如垃圾收集操作的紧急操作。
如果与任务对应的操作完成,则任务管理电路1250将执行过的任务的老化权重累加到尚未执行的排队的任务中的每一个的饥饿状态确定值,从而更新尚未执行的排队的任务的饥饿状态确定值。已完成的任务可被移除。
任务管理电路1250在步骤S710中确定在排队的任务当中是否存在已进入饥饿状态的任务。这种任务被称为饥饿任务,其意味着它的累积的饥饿状态确定值是预定值(例如,1)或更大。
处理器1220确定被确定为饥饿任务的任务是紧急任务,并且重新排列这些任务以使得饥饿任务作为第一优先级被执行。闪存控制电路1240在步骤S720中优先于其它任务执行紧急任务。
当执行过的任务是最后的任务时(步骤S730为“是”),过程被终止。如果存在剩余的或剩下的排队的任务,则选择后续任务,并且从步骤S700起重新执行过程。
图7是例示根据本公开的实施方式的存储系统30000的图。
参照图7,存储系统30000可被实现在蜂窝电话、智能电话、平板PC、个人数字助理(PDA)或无线通信装置中。存储系统30000可包括存储装置1100以及被配置为控制存储装置1100的操作的存储控制器1200。存储控制器1200可在处理器3100的控制下控制存储装置1100的数据访问操作,例如,编程操作、擦除操作或读取操作。
可在存储控制器1200的控制下通过显示器3200输出在存储装置1100中编程的数据。
无线电收发器3300可通过天线ANT发送和接收无线电信号。例如,无线电收发器3300可将通过天线ANT接收到的无线电信号改变为能够在处理器3100中处理的信号。因此,处理器3100可处理从无线电收发器3300输出的信号并将处理后的信号发送到存储控制器1200或显示器3200。存储控制器1200可将由处理器3100处理的信号编程到存储装置1100。此外,无线电收发器3300可将从处理器3100输出的信号改变为无线电信号,并且通过天线ANT将改变后的无线电信号输出到外部装置。输入装置3400可用于输入用于控制处理器3100的操作的控制信号或者要由处理器3100处理的数据。输入装置3400可被实现在诸如触摸板和计算机鼠标之类的指点装置、小键盘或键盘中。处理器3100可控制显示器3200的操作,使得从存储控制器1200输出的数据、从无线电收发器3300输出的数据或者从输入装置3400输出的数据通过显示器3200输出。
在一实施方式中,能够控制存储装置1100的操作的存储控制器1200可被实现为处理器3100的一部分或与处理器3100分开提供的芯片。可使用图2中所示的控制器的示例来实现存储控制器1200。
图8是例示根据本公开的实施方式的存储系统40000的图。
参照图8,存储系统40000可被实现在个人计算机(PC)、平板PC、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器中。
存储系统40000可包括存储装置1100以及被配置为控制存储装置1100的数据处理操作的存储控制器1200。
处理器4100可根据从输入装置4200输入的数据,通过显示器4300输出存储在存储装置1100中的数据。例如,输入装置4200可被实现在诸如触摸板或计算机鼠标的指点装置、小键盘或键盘中。
处理器4100可控制存储系统40000的整体操作并控制存储控制器1200的操作。在一实施方式中,能够控制存储装置1100的操作的存储控制器1200可被实现为处理器4100的一部分或与处理器4100分开提供的芯片。可使用图2中所示的控制器的示例来实现存储控制器1200。
图9是例示根据本公开的实施方式的存储系统50000的图。
参照图9,存储系统50000可被实现在图像处理装置(例如,数码相机、配备有数码相机的便携式电话、配备有数码相机的智能手机或配备有数码相机的平板PC)中。
存储系统50000可包括存储装置1100以及能够控制存储装置1100的数据处理操作(例如,编程操作、擦除操作或读取操作)的存储控制器1200。
存储系统50000的图像传感器5200可将光学图像转换为数字信号。经转换的数字信号可被发送到处理器5100或存储控制器1200。在处理器5100的控制下,经转换的数字信号可通过显示器5300输出或通过存储控制器1200存储到存储装置1100。存储在存储装置1100中的数据可在处理器5100或存储控制器1200的控制下通过显示器5300输出。
在一实施方式中,能够控制存储装置1100的操作的存储控制器1200可被实现为处理器5100的一部分或与处理器5100分开提供的芯片。可使用图2中所示的控制器的示例来实现存储控制器1200。
图10是例示根据本公开的实施方式的存储系统70000的图。
参照图10,存储系统70000可被实现在存储卡或智能卡中。存储系统70000可包括存储装置1100、存储控制器1200和卡接口7100。
存储控制器1200可控制存储装置1100与卡接口7100之间的数据交换。在一实施方式中,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口。但不限于此。可使用图2中所示的控制器1200的示例来实现存储控制器1200。
卡接口7100可根据主机60000的协议来对主机60000与存储控制器1200之间的数据交换进行接口连接。在一实施方式中,卡接口7100可支持通用串行总线(USB)协议以及芯片间(IC)-USB协议。这里,卡接口可指代能够支持主机60000所使用的协议的硬件、安装在硬件中的软件、或信号传输方案。
当存储系统70000连接到主机60000的主机接口6200(诸如PC、平板PC、数码相机、数字音频播放器、蜂窝电话、控制台视频游戏硬件或数字机顶盒)时,主机接口6200可在微处理器6100的控制下执行通过卡接口7100和存储控制器1200与存储装置1100的数据通信。
根据本公开的实施方式,将从主机接收的多个任务划分为例如读取任务和写入任务的类型,并且将读取任务和写入任务的饥饿状态的老化权重设置为不同值。将执行过的任务的老化权重添加到剩余任务中,从而检测并处理具有紧急状态的任务。由此,可防止任务处于饥饿状态。
本文已经公开了各种实施方式,尽管采用了特定术语,但是这些术语仅仅用于并且被解释为通用的和描述性意义而不是用于限制性目的。在一些情况下,如在提交申请时本领域普通技术人员所显而易见的,除非另外具体说明,否则结合特定实施方式描述的特征、特性和/或元件可单独使用或者与结合其它实施方式描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,可在不脱离如所附权利要求中阐述的本公开的精神和范围的情况下进行形式和细节上的各种改变。
相关申请的交叉引用
本申请要求于2018年2月13日提交的韩国专利申请No.10-2018-0017482的优先权,该韩国专利申请通过引用全部合并于本文中。
Claims (15)
1.一种存储系统,该存储系统包括:
存储装置,所述存储装置被配置为执行读取操作和写入操作;以及
控制器,所述控制器被配置为控制所述存储装置,使得从主机接收的多个任务基于所述任务的优先级进行排队,并且根据排队的任务的顺序执行与所述任务对应的读取操作或写入操作,其中,所述多个任务包括与所述读取操作对应的读取任务和与所述写入操作对应的写入任务,
其中,所述控制器根据所述读取任务或所述写入任务的任务大小为排队的读取任务或写入任务分配不同的老化权重,将所述排队的任务中的执行过的任务的老化权重累积到所述排队的任务中的多个剩余任务中的每一个的饥饿状态确定值,并且使用对应的饥饿状态确定值来确定所述多个剩余任务中的每一个是否处于饥饿状态,并且
其中,随着所述读取任务或所述写入任务的任务大小增加,分配的老化权重增加。
2.根据权利要求1所述的存储系统,其中,所述控制器包括:
处理器,所述处理器被配置为基于所述任务的优先级对所述多个任务进行排队;
闪存控制电路,所述闪存控制电路被配置为控制所述存储装置依次执行所述排队的任务;以及
任务管理电路,所述任务管理电路被配置为将由所述闪存控制电路完成的任务的老化权重累积到所述排队的任务中的所述多个剩余任务中的每一个的饥饿状态确定值。
3.根据权利要求2所述的存储系统,其中,所述处理器将所述读取任务划分为正常读取任务和读取回收任务,并且向所述正常读取任务和所述读取回收任务分配不同的老化权重。
4.根据权利要求3所述的存储系统,其中,分配给所述正常读取任务的老化权重小于分配给所述读取回收任务的老化权重。
5.根据权利要求3所述的存储系统,其中,所述处理器将所述写入任务划分为正常写入任务和紧急写入任务,并且向所述正常写入任务和所述紧急写入任务分配不同的老化权重。
6.根据权利要求5所述的存储系统,其中,分配给所述正常写入任务的老化权重小于分配给所述紧急写入任务的老化权重。
7.根据权利要求6所述的存储系统,其中,分配给所述正常读取任务的老化权重小于分配给所述正常写入任务的老化权重。
8.根据权利要求2所述的存储系统,
其中,所述任务管理电路确定所述多个剩余任务当中的、所述饥饿状态确定值等于或大于预定值的任务是饥饿任务,并且
其中,所述处理器确定所述饥饿任务为紧急任务,并且对所述任务进行重新排队。
9.一种操作存储系统的方法,该方法包括以下步骤:
从主机接收命令;
确定所述命令是读取命令还是写入命令,并且根据所述命令是读取命令还是写入命令来向所述命令中的多个任务分配对应的老化权重;
基于所述任务的优先级对所述多个任务进行排队,并且根据排队的任务的顺序依次执行与所述多个任务对应的操作;
当与所述多个任务中的一个任务对应的操作完成时,将与所述一个任务对应的老化权重累积到所述排队的任务中的多个剩余任务中的每一个的饥饿状态确定值;以及
确定累积的饥饿状态确定值被检测为预定值或更大值的任务是紧急任务,并且优先执行所述紧急任务,
其中,随着与所述写入命令对应的写入任务或与所述读取命令对应的读取任务的任务大小增加,分配给所述写入任务或所述读取任务的老化权重增加。
10.根据权利要求9所述的方法,其中,当所述命令是读取命令时,所述命令中的所述多个任务被划分为正常读取任务和读取回收任务,并且向所述正常读取任务和所述读取回收任务分配不同的老化权重。
11.根据权利要求10所述的方法,其中,分配给所述正常读取任务的老化权重小于分配给所述读取回收任务的老化权重。
12.根据权利要求9所述的方法,其中,当所述命令是写入命令时,所述命令中的所述多个任务被划分为正常写入任务和紧急写入任务,并且向所述正常写入任务和所述紧急写入任务分配不同的老化权重。
13.根据权利要求12所述的方法,其中,分配给所述正常写入任务的老化权重小于分配给所述紧急写入任务的老化权重。
14.根据权利要求12所述的方法,其中,分配给所述正常写入任务的老化权重大于分配给正常读取任务的老化权重。
15.一种存储系统,该存储系统包括:
存储装置;
控制器,所述控制器被配置为:
根据多个任务的优先级对所述多个任务进行重新排列并排队,所述任务具有根据所述任务的类型的老化权重;
控制所述存储装置根据排队的任务执行操作;以及
将所述多个任务当中的对应操作完成的任务的老化权重累积到每个剩余排队的任务,
其中,所述控制器控制所述存储装置优先执行与所述剩余排队的任务当中的、累积的老化权重大于阈值的任务对应的操作,并且
其中,所述任务的类型包括读取任务和写入任务,并且随着所述读取任务或所述写入任务的任务大小增加,分配给所述读取任务或所述写入任务的老化权重增加。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180017482A KR102509487B1 (ko) | 2018-02-13 | 2018-02-13 | 메모리 시스템 및 그것의 동작 방법 |
KR10-2018-0017482 | 2018-02-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110162485A CN110162485A (zh) | 2019-08-23 |
CN110162485B true CN110162485B (zh) | 2023-09-26 |
Family
ID=67542280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811139022.0A Active CN110162485B (zh) | 2018-02-13 | 2018-09-28 | 存储系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10725702B2 (zh) |
KR (1) | KR102509487B1 (zh) |
CN (1) | CN110162485B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210071314A (ko) | 2019-12-06 | 2021-06-16 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 |
US20230281121A1 (en) * | 2022-03-01 | 2023-09-07 | International Business Machines Corporation | Increased garbage collection granularity for non-volatile memory |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220653A (en) * | 1990-10-26 | 1993-06-15 | International Business Machines Corporation | Scheduling input/output operations in multitasking systems |
CN102203752A (zh) * | 2008-07-29 | 2011-09-28 | Vl有限公司 | 具有多个队列之间的仲裁的数据处理电路 |
CN107122317A (zh) * | 2016-02-24 | 2017-09-01 | 爱思开海力士有限公司 | 数据存储装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7421273B2 (en) | 2002-11-13 | 2008-09-02 | Agere Systems Inc. | Managing priority queues and escalation in wireless communication systems |
KR100541987B1 (ko) * | 2003-06-30 | 2006-01-10 | 삼성전자주식회사 | 우선 순위에 따른 패킷 전송 장치 및 방법 |
US7076611B2 (en) * | 2003-08-01 | 2006-07-11 | Microsoft Corporation | System and method for managing objects stored in a cache |
US7464218B2 (en) * | 2004-08-31 | 2008-12-09 | Seagate Technology Llc | Method for improving data throughput for a data storage device |
KR20160065644A (ko) * | 2014-12-01 | 2016-06-09 | 주식회사 티엘아이 | 메모리 컨트롤러, 이를 포함하는 시스템, 및 이의 동작 방법 |
US10073714B2 (en) * | 2015-03-11 | 2018-09-11 | Western Digital Technologies, Inc. | Task queues |
-
2018
- 2018-02-13 KR KR1020180017482A patent/KR102509487B1/ko active IP Right Grant
- 2018-09-04 US US16/121,041 patent/US10725702B2/en active Active
- 2018-09-28 CN CN201811139022.0A patent/CN110162485B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220653A (en) * | 1990-10-26 | 1993-06-15 | International Business Machines Corporation | Scheduling input/output operations in multitasking systems |
CN102203752A (zh) * | 2008-07-29 | 2011-09-28 | Vl有限公司 | 具有多个队列之间的仲裁的数据处理电路 |
CN107122317A (zh) * | 2016-02-24 | 2017-09-01 | 爱思开海力士有限公司 | 数据存储装置 |
Also Published As
Publication number | Publication date |
---|---|
US20190250856A1 (en) | 2019-08-15 |
US10725702B2 (en) | 2020-07-28 |
KR102509487B1 (ko) | 2023-03-14 |
CN110162485A (zh) | 2019-08-23 |
KR20190097712A (ko) | 2019-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110232035B (zh) | 存储器系统以及存储器系统的操作方法 | |
CN110221992B (zh) | 存储器系统以及存储器系统的操作方法 | |
US11645010B2 (en) | Solid state drive (SSD) memory system improving the speed of a read operation using parallel DMA data transfers | |
CN109947357B (zh) | 存储器系统及其操作方法 | |
CN110096222B (zh) | 存储器系统及存储器系统的操作方法 | |
CN111258934B (zh) | 存储器控制器、包括其的存储器系统及操作其的方法 | |
US11163491B2 (en) | Memory system and method of operating the same | |
CN110162485B (zh) | 存储系统及其操作方法 | |
CN111951871A (zh) | 存储器装置、包括存储器装置的存储器系统及其操作方法 | |
CN111240585B (zh) | 控制器、包括控制器的存储器系统及其操作方法 | |
US11029886B2 (en) | Memory system and method of operating memory system | |
US20200160918A1 (en) | Memory system and method of operating the same | |
CN112306897A (zh) | 存储器系统及其操作方法 | |
US20190294542A1 (en) | Memory system and operating method thereof | |
CN111105833B (zh) | 存储器装置、存储器系统及操作存储器系统的方法 | |
US11461046B2 (en) | Memory system with memory controller managing an accumulated erase count value and an open block erase count value and method of operating the same | |
US10942675B2 (en) | Memory system 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 |