CN106873901B - 存储器管理方法、存储器控制电路单元与存储器存储装置 - Google Patents
存储器管理方法、存储器控制电路单元与存储器存储装置 Download PDFInfo
- Publication number
- CN106873901B CN106873901B CN201510919968.9A CN201510919968A CN106873901B CN 106873901 B CN106873901 B CN 106873901B CN 201510919968 A CN201510919968 A CN 201510919968A CN 106873901 B CN106873901 B CN 106873901B
- Authority
- CN
- China
- Prior art keywords
- event
- type
- memory
- work
- events
- 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
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种存储器管理方法、存储器控制电路单元与存储器存储装置。所述存储器管理方法包括判断特殊事件是否发生;若特殊事件发生,判断工作队列中至少一事件的类型,其中工作队列存储有多个事件,并且所述事件中的每一事件分别用以执行相对应的工作;根据所述至少一事件的所述类型来将所述至少一事件所执行的所述工作从第一工作调整为第二工作,其中所述第一工作不同于所述第二工作;以及当所述第一工作调整为所述第二工作后,待命执行所述第二工作。本发明提供的存储器管理方法、存储器控制电路单元与存储器存储装置,可在不正常的断电事件发生后,节省处理工作队列中的工作的时间,进而在剩余电力耗尽之前有效率地将必要的工作执行完毕。
Description
技术领域
本发明涉及一种存储器管理方法,尤其涉及一种用于可复写式非挥发性存储器模块的存储器管理方法、存储器控制电路单元与存储器存储装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非挥发性存储器(rewritable non-volatile memory)具有数据非挥发性、省电、体积小、无机械结构、读写速度快等特性,最适于此些电子产品。因此,近年快闪存储器产业成为电子产业中相当热门的一环。例如,广泛用于行动电子装置上的嵌入式多媒体卡(embeded Multi Media Card,eMMC)就是一种以快闪存储器作为存储媒体的存储装置。
一般来说,使用可复写式非挥发性存储器的存储装置(如,固态硬盘),会在面临到不正常的断电事件时,会需要在(由电容或是电池所提供的)剩余的临时电力被消耗完毕之前,将工作队列(Work queue)中所有必要的已排程工作执行完毕。然而,有时候,会因为执行工作队列中非必要的已排程工作而耗费了许多时间(或,消耗了过多的临时电力),进而导致必要的已排程工作无法被执行。因此,如何在不正常的断电事件发生后,及时地将工作队列中的必要的工作执行完毕,是此领域技术人员所致力的目标。
发明内容
本发明提供一种存储器管理方法、存储器控制电路单元与存储器存储装置,可在不正常的断电事件发生后,节省处理工作队列中的工作的时间,进而在剩余电力耗尽之前有效率地将必要的工作执行完毕。
本发明的一范例实施例提供用于可复写式非挥发性存储器模块的一种存储器管理方法。所述存储器管理方法包括判断特殊事件是否发生;若特殊事件发生,判断工作队列中至少一事件的类型,其中工作队列存储有多个事件,并且所述事件中的每一事件分别用以执行相对应的工作;根据所述至少一事件的所述类型来将所述至少一事件所执行的所述工作从第一工作调整为第二工作,其中所述第一工作不同于所述第二工作;以及当所述第一工作调整为所述第二工作后,待命执行所述第二工作。
在本发明的一实施例中,上述存储器管理方法还包括暂停执行中的所述工作队列,及当所述第一工作调整为所述第二工作后,继续执行所述工作队列。
在本发明的一实施例中,其中所述第一工作包括读取操作、抹除操作或***操作,其中所述第二工作包括无操作工作。
在本发明的一实施例中,其中所述第二工作包括重置操作。
在本发明的一实施例中,其中所述事件之中的每一事件分别具有指标,其中所述事件之中的每一事件的所述指标分别指向对应所述事件之中的每一事件的存储器参数单元,其中对应所述事件之中的每一事件的所述存储器参数单元存储有对应所述事件之中的每一事件的事件执行指令。此外,上述存储器管理方法还包括,若处理所述事件之中的每一事件,根据所述事件之中的每一事件的所述指标所指向的所述存储器参数单元,来读取存储在所述存储器参数单元的对应所述事件之中的每一事件的所述事件执行指令;以及根据所读取的所述事件执行指令来执行对应所述事件之中的每一事件的所述工作。
在本发明的一实施例中,其中上述判断所述工作队列中所述至少一事件的所述类型的步骤包括辨识所述至少一事件的指标所指向的事件执行指令的类型;以及根据所辨识的所述至少一事件的所述指标所指向的所述事件执行指令的所述类型,来判断所述工作队列中所述至少一事件的所述类型。
在本发明的一实施例中,其中上述根据所述至少一事件的所述类型来将所述至少一事件所执行的所述工作从所述第一工作调整为所述第二工作的步骤还包括若所述至少一事件的所述类型为第一类型,将所述至少一事件所执行的所述工作从所述第一工作调整为所述无操作工作;若所述至少一事件的所述类型为第二类型,将所述至少一事件所执行的所述工作从所述第一工作调整为所述重置工作;以及若所述至少一事件的所述类型为第三类型,不调整所述至少一事件所执行的所述工作。
在本发明的一实施例中,其中所述事件执行指令包括读取指令、***指令、抹除指令与来自主机***的写入指令,其中所述***指令用于管理所述可复写式非挥发性存储器模块,其中来自所述主机***的所述写入指令用以指示写入使用者数据至所述可复写式非挥发性存储器模块,其中上述根据辨识所述至少一事件的所述指标所指向的所述事件执行指令的所述类型,来判断所述工作队列中所述至少一事件的所述类型的步骤包括,若所述至少一事件的所述指标指向至所述读取指令或所述***指令,判定所述至少一事件的所述类型为所述第一类型;若所述至少一事件的所述指标指向至所述抹除指令,判定所述至少一事件的所述类型为所述第二类型;以及若所述至少一事件的所述指标指向至来自所述主机***的所述写入指令,判定所述至少一事件的所述类型为所述第三类型。
在本发明的一实施例中,其中上述根据所述至少一事件的所述类型来将所述至少一事件所执行的所述工作从所述第一工作调整为所述第二工作的步骤包括,若所述至少一事件的所述类型为所述第一类型或所述第二类型,从所述工作队列中移除所述至少一事件。
在本发明的一实施例中,其中所述特殊事件包括电源错误事件、快速执行工作队列事件或清除工作队列事件。
本发明的一范例实施例提供用于控制存储器存储装置的一种存储器控制电路单元。所述存储器控制电路单元包括主机接口、存储器接口与存储器管理电路。主机接口电性连接至主机***。存储器接口电性连接至可复写式非挥发性存储器模块。存储器管理电路电性连接至所述主机接口与所述存储器接口。所述存储器管理电路用以判断特殊事件是否发生,其中若所述特殊事件发生,所述存储器管理电路还用以判断工作队列中至少一事件的类型,其中所述工作队列存储有多个事件,并且所述事件中的每一事件分别用以执行相对应的工作,其中所述存储器管理电路还用以根据所述至少一事件的所述类型来将所述至少一事件所执行的所述工作从第一工作调整为第二工作,其中所述第一工作不同于所述第二工作,其中当所述第一工作调整为所述第二工作后,所述存储器管理电路还用以待命执行所述第二工作。
在本发明的一实施例中,其中所述存储器管理电路暂停执行中的所述工作队列,及当所述第一工作调整为所述第二工作后,继续执行所述工作队列。
在本发明的一实施例中,其中所述事件之中的每一事件分别具有指标,其中所述事件之中的每一事件的所述指标分别指向对应所述事件之中的每一事件的存储器参数单元,其中对应所述事件之中的每一事件的所述存储器参数单元存储有对应所述事件之中的每一事件的事件执行指令。所述存储器管理电路执行所述工作队列以处理所述工作队列中的所述事件。若所述存储器管理电路处理所述事件之中的每一事件,所述存储器管理电路根据所述事件之中的每一事件的所述指标所指向的所述存储器参数单元,来读取存储在所述存储器参数单元的对应所述事件之中的每一事件的所述事件执行指令。此外,所述存储器管理电路根据所读取的所述事件执行指令来执行对应所述事件之中的每一事件的所述工作。
在本发明的一实施例中,其中在上述判断所述工作队列中所述至少一事件的所述类型的运作中,所述存储器管理电路辨识所述至少一事件的指标所指向的事件执行指令的类型,并且根据所辨识的所述至少一事件的所述指标所指向的所述事件执行指令的所述类型,来判断所述工作队列中所述至少一事件的所述类型。
在本发明的一实施例中,其中在上述所述存储器管理电路还用以根据所述至少一事件的所述类型来将所述至少一事件所执行的所述工作从所述第一工作调整为所述第二工作的运作中,若所述至少一事件的所述类型为第一类型,所述存储器管理电路将所述至少一事件所执行的所述工作从所述第一工作调整为所述无操作工作,其中若所述至少一事件的所述类型为第二类型,所述存储器管理电路将所述至少一事件所执行的所述工作从所述第一工作调整为所述重置工作,其中若所述至少一事件的所述类型为第三类型,所述存储器管理电路不调整所述至少一事件所执行的所述工作。
在本发明的一实施例中,其中所述事件执行指令包括读取指令、***指令、抹除指令与来自主机***的写入指令,其中所述***指令用于管理所述可复写式非挥发性存储器模块,其中来自所述主机***的所述写入指令用以指示写入使用者数据至所述可复写式非挥发性存储器模块。在上述所述存储器管理电路根据辨识所述至少一事件的所述指标所指向的所述事件执行指令的所述类型,来判断所述工作队列中所述至少一事件的所述类型的运作中,若所述至少一事件的所述指标指向至所述读取指令或所述***指令,所述存储器管理电路判定所述至少一事件的所述类型为所述第一类型,其中若所述至少一事件的所述指标指向至所述抹除指令,所述存储器管理电路判定所述至少一事件的所述类型为所述第二类型,其中若所述至少一事件的所述指标指向至来自所述主机***的所述写入指令,判定所述至少一事件的所述类型为所述第三类型。
在本发明的一实施例中,其中在上述所述存储器管理电路还用以根据所述至少一事件的所述类型来将所述至少一事件所执行的所述工作从所述第一工作调整为所述第二工作的运作中,若所述至少一事件的所述类型为所述第一类型或所述第二类型,所述存储器管理电路从所述工作队列中移除所述至少一事件。
本发明的一范例实施例提供一种存储器存储装置,其包括连接接口单元、可复写式非挥发性存储器模块与存储器控制电路单元。连接接口单元电性连接至主机***。存储器控制电路单元电性连接至所述连接接口单元与所述可复写式非挥发性存储器模块。所述存储器控制电路单元用以判断特殊事件是否发生,其中若所述特殊事件发生,所述存储器控制电路单元还用以判断工作队列中至少一事件的类型,其中所述工作队列存储有多个事件,并且所述事件中的每一事件分别用以执行相对应的工作,其中所述存储器控制电路单元还用以根据所述至少一事件的所述类型来将所述至少一事件所执行的所述工作从第一工作调整为第二工作,其中所述第一工作不同于所述第二工作,其中当所述第一工作调整为所述第二工作后,所述存储器控制电路单元还用以待命执行所述第二工作。
在本发明的一实施例中,其中所述存储器控制电路单元暂停执行中的所述工作队列,及当所述第一工作调整为所述第二工作后,继续执行所述工作队列。
在本发明的一实施例中,其中所述事件之中的每一事件分别具有指标,其中所述事件之中的每一事件的所述指标分别指向对应所述事件之中的每一事件的存储器参数单元,其中对应所述事件之中的每一事件的所述存储器参数单元存储有对应所述事件之中的每一事件的事件执行指令。所述存储器控制电路单元执行所述工作队列以处理所述工作队列中的所述事件。若所述存储器控制电路单元处理所述事件之中的每一事件,所述存储器控制电路单元根据所述事件之中的每一事件的所述指标所指向的所述存储器参数单元,来读取存储在所述存储器参数单元的对应所述事件之中的每一事件的所述事件执行指令。此外,所述存储器控制电路单元根据所读取的所述事件执行指令来执行对应所述事件之中的每一事件的所述工作。
在本发明的一实施例中,其中在上述判断所述工作队列中所述至少一事件的所述类型的运作中,所述存储器控制电路单元辨识所述至少一事件的指标所指向的事件执行指令的类型,并且根据所辨识的所述至少一事件的所述指标所指向的所述事件执行指令的所述类型,来判断所述工作队列中所述至少一事件的所述类型。
在本发明的一实施例中,其中在上述所述存储器控制电路单元还用以根据所述至少一事件的所述类型来将所述至少一事件所执行的所述工作从所述第一工作调整为所述第二工作的运作中,若所述至少一事件的所述类型为第一类型,所述存储器控制电路单元将所述至少一事件所执行的所述工作从所述第一工作调整为所述无操作工作,其中若所述至少一事件的所述类型为第二类型,所述存储器控制电路单元将所述至少一事件所执行的所述工作从所述第一工作调整为所述重置工作,其中若所述至少一事件的所述类型为第三类型,所述存储器控制电路单元不调整所述至少一事件所执行的所述工作。
在本发明的一实施例中,其中所述事件执行指令包括读取指令、***指令、抹除指令与来自主机***的写入指令,其中所述***指令用于管理所述可复写式非挥发性存储器模块,其中来自所述主机***的所述写入指令用以指示写入使用者数据至所述可复写式非挥发性存储器模块。在上述所述存储器控制电路单元根据辨识所述至少一事件的所述指标所指向的所述事件执行指令的所述类型,来判断所述工作队列中所述至少一事件的所述类型的运作中,若所述至少一事件的所述指标指向至所述读取指令或所述***指令,所述存储器控制电路单元判定所述至少一事件的所述类型为所述第一类型,其中若所述至少一事件的所述指标指向至所述抹除指令,所述存储器控制电路单元判定所述至少一事件的所述类型为所述第二类型,其中若所述至少一事件的所述指标指向至来自所述主机***的所述写入指令,判定所述至少一事件的所述类型为所述第三类型。
在本发明的一实施例中,其中在上述所述存储器控制电路单元还用以根据所述至少一事件的所述类型来将所述至少一事件所执行的所述工作从所述第一工作调整为所述第二工作的运作中,若所述至少一事件的所述类型为所述第一类型或所述第二类型,所述存储器控制电路单元从所述工作队列中移除所述至少一事件。
基于上述,本发明的范例实施例所提供的存储器管理方法、存储器控制电路单元与存储器存储装置,可调整工作队列中的已排程指令,使非必要的指令被替换为无操作指令或重置指令,以大幅减少处理非必要的指令所耗费的时间(电力)。此外,节省后的剩余临时电力将足以执行必要的指令。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1为本发明的一范例实施例的主机***、存储器存储装置及输入/输出I/O装置的示意图;
图2为本发明的另一范例实施例的主机***、存储器存储装置及输入、输出I/O装置的示意图;
图3为本发明的另一范例实施例的主机***与存储器存储装置的示意图;
图4为本发明的一范例实施例的存储器存储装置的概要方块图;
图5为本发明的一范例实施例的存储器控制电路单元的概要方块图;
图6为本发明的一范例实施例的指标的运作示意图;
图7为本发明的范例实施例的调整指标的运作示意图;
图8为本发明的一范例实施例的存储器管理方法的步骤流程图。
附图标记说明:
10:存储器存储装置;
11:主机***;
110:***总线;
111:处理器;
112:随机存取存储器;
113:只读存储器;
114:数据传输接口;
12:I/O装置;
20:主机板;
201:随身盘;
202:内存卡;
203:固态硬盘;
204:无线存储器存储装置;
205:全球定位***模块;
206:网络适配器;
207:无线传输装置;
208:键盘;
209:屏幕;
210:喇叭;
211:鼠标;
30:存储器存储装置;
31:主机***;
32:SD卡;
33:CF卡;
34:嵌入式存储装置;
341:嵌入式多媒体卡;
342:嵌入式多芯片封装存储装置;
402:连接接口单元;
404:存储器控制电路单元;
406:可复写式非挥发性存储器模块;
410(0)~410(N):实体抹除单元;
502:存储器管理电路;
504:主机接口;
506:存储器接口;
508:缓冲存储器;
510:电源管理电路;
512:错误检查与校正电路;
610:工作队列;
611~616:指标;
621~626、631、632:存储器参数单元;
S801、S803、S805、S807、S809:存储器管理方法的流程步骤。
具体实施方式
图1为本发明的一范例实施例的主机***、存储器存储装置及输入/输出I/O装置的示意图。图2为本发明的另一范例实施例的主机***、存储器存储装置及输入、输出I/O装置的示意图。
请参照图1与图2,主机***11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆电性连接至***总线(system bus)110。
在本范例实施例中,主机***11是通过数据传输接口114与存储器存储装置10电性连接。例如,主机***11可通过数据传输接口114将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机***11是通过***总线110与I/O装置12电性连接。例如,主机***11可通过***总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114可设置在主机***11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以通过有线或无线方式电性连接至存储器存储装置10。存储器存储装置10可例如是随身盘201、内存卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通信(NearField Communication,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通信技术为基础的存储器存储装置。此外,主机板20也可以通过***总线110电性连接至全球定位***(Global Positioning System,GPS)模块205、网络适配器206、无线传输装置207、键盘208、屏幕209、喇叭210、鼠标211等各式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机***为可实质地与存储器存储装置配合以存储数据的任意***。虽然在上述范例实施例中,主机***是以电脑***来作说明,然而,图3为本发明的另一范例实施例的主机***与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机***31也可以是数码相机、摄像机、通信装置、音频播放器、视频播放器或平板电脑等***,而存储器存储装置30可为其所使用的SD卡32、CF卡33或嵌入式存储装置34等各式非挥发性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded MMC,eMMC)341及/或嵌入式多芯片封装存储装置(embedded Multi Chip Package,eMCP)342等各类型将存储器模块直接电性连接于主机***的基板上的嵌入式存储装置。
图4为本发明的一范例实施例的存储器存储装置的概要方块图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非挥发性存储器模块406。
在本范例实施例中,连接接口单元402是相容于序列先进附件(Serial AdvancedTechnology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并列先进附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用序列总线(Universal Serial Bus,USB)标准、安全数位(SecureDigital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、记忆棒(Memory Stick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(Multi Media Card,MMC)接口标准、崁入式多媒体存储卡(Embedded Multimedia Card,eMMC)接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、嵌入式多芯片封装(embedded Multi ChipPackage,eMCP)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元404的芯片外。
图5为本发明一范例实施例的存储器控制电路单元的概要方块图。
请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路502的控制指令是以韧体型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。应注意的是,以下存储器管理电路502所执行的操作,也可表示存储器控制电路单元404的整体运作。
在本发明另一范例实施例中,存储器管理电路502的控制指令也可以程式码型式存储于可复写式非挥发性存储器模块406的特殊区域(例如,存储器模块中专用于存放***数据的***区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非挥发性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
主机接口504是电性连接至存储器管理电路502并且用以电性连接至连接接口单元402,以接收与识别主机***11所传送的指令与数据。也就是说,主机***11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于eMMC标准。然而,必须了解的是本发明不限于此,主机接口504也可以是相容于PATA标准、IEEE1394标准、PCI Express标准、UFS标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、SATA标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是电性连接至存储器管理电路502并且用以存取可复写式非挥发性存储器模块406。也就是说,欲写入至可复写式非挥发性存储器模块406的数据会通过存储器接口506转换为可复写式非挥发性存储器模块406所能接受的格式。
在一范例实施例中,存储器控制电路单元404还包括缓冲存储器508、电源管理电路510与错误检查与校正电路512。
缓冲存储器508是电性连接至存储器管理电路502并且用以暂存来自于主机***11的数据与指令或来自于可复写式非挥发性存储器模块406的数据。
错误检查与校正电路512是电性连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机***11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,ECC Code),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非挥发性存储器模块406中。之后,当存储器管理电路502从可复写式非挥发性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
电源管理电路510是电性连接至存储器管理电路502并且用以控制存储器存储装置10的电源。此外,在本范例实施例中,电源管理电路510还用以检测断电事件的发生,其中断电事件还可分为正常的断电事件与不正常的断电事件(以下也称,电源错误事件)。
具体来说,正常的断电事件例如是使用者执行主机***11的关机或休眠等预设的断开电源的操作,或是主机***11因为安装于主机***的作业***(OS)的设定,而根据设定来进入至关机或是休眠等断开电源的操作。相对的,电源错误事件(Power failureevent)例如是主机***11所接入的电源忽然断开(如,停电事件),或主机***的所连接的电池已耗尽等等,非使用者或是非主机***11所控制的断电事件。
此外,电源管理电路510还包括至少一电容,其用以在电源错误事件发生后还可以供应临时电力给存储器存储装置10,但本发明不限于此。例如,在另一范例实施例中,电源管理电路510还电性连接至少一电池(或其他适合的可用来存储电力的装置),以供应临时电力给存储器存储装置10。
在本范例实施例中,当电源管理电路510检测到电源错误事件的发生时,电源管理电路510会发出电源错误通知给存储器管理电路502,以使存储器管理电路502得以使用上述的临时电力来进行针对电源错误事件的操作。
具体来说,当接收到电源错误通知后,存储器管理电路502会开始执行对应电源错误事件的特殊处理程序。例如,在本范例实施例中,存储器管理电路502会先暂停执行中的部分或全部工作,并且优先地使用临时电力来处理被暂停的工作中必须处理(must bedone)的工作。上述的“电源错误通知”可使存储器管理电路502用以判断是否有电源错误事件发生,其中电源错误事件是属于特殊事件的其中之一。在本范例实施例中,特殊事件包括电源错误事件、快速执行工作队列事件或清除工作队列事件。
值得一提是,在本范例实施例中,存储器管理电路502会判断是否所述特殊事件的其中之一是否发生。此外,存储器管理电路502会根据判断特殊事件是否发生的结果,来开始执行本范例实施例所提供的对应特殊事件的特殊处理程序。
由于本范例实施例所提供的存储器管理方法与工作排程有关,因此,以下先会详细说明在本范例实施例中存储器管理电路502排程工作的运作,再接续说明本范例实施例所提供的存储器管理方法如何在特殊处理程序中优化工作排程。
在本范例实施例中,存储器管理电路502会从主机***11接收多个指令(如,写入使用者数据的写入指令)。此外,存储器管理电路502本身也会执行多个***指令来进行管理可复写式非挥发性存储器模块406的操作(例如,数据合并指令或垃圾回收指令)。存储器管理电路502会将欲对可复写式非挥发性存储器模块406执行的每一指令(也称,事件执行指令)的指令描述存储至缓冲存储器508中的特殊区块(如,存储器参数单元,FlashParameter Unit,FPU)。也就是说,每一事件执行指令的指令叙述会被存储至分别对应每一事件执行指令的存储器参数单元中。存储器管理电路502会使用多个指标来指向至对应每一指令的特殊区块,以让存储器管理电路502可通过指标来从所述指标所指向的特殊区块获得记录于特殊区块的指令描述,进而通过指令描述来执行事件执行指令。简单来说,也可视为存储器管理电路502可以通过指标来指向对应的事件执行指令,进而进行所述指令所对应的工作。
此外,存储器管理电路502还可以存储且排序多个事件(event)至工作队列(queue)中,并且通过执行工作队列来处理工作队列中的事件,以执行对应事件的指令/工作。换句话说,也可视为存储器管理电路502欲进行(处理)多个事件,并且使用工作队列来存储欲进行的所述事件,其中每一个事件可分别用以执行对应所述事件中的每一个事件的工作。此外,存储在工作队列的每一事件皆具有指标,如上所述,每一事件的所述指标会用以指向至对应其所属事件的存储器参数单元,以根据存储在对应每一事件的存储器参数单元中的指令描述来执行对应每一事件的事件执行指令,进而进行对应每一事件的工作。简单来说,存储在工作队列的每一事件会指向至分别对应每一事件的事件执行指令。
应注意的是,本发明并不限于存储指令描述的元件为缓冲存储器508。例如,在另一范例实施例中,存储器管理电路502会将欲对可复写式非挥发性存储器模块406执行的每一指令的指令描述存储至存储器管理电路502的随机存取存储器中或其他合适的存储器中。
以下为了便于说明,会使用单一的“存储器参数单元”来表示记录对应单一事件执行指令的指令描述的特殊区块,并且每一事件的指标指向至对应每一事件的存储器参数单元的动作也可用每一事件指向至对应每一事件的事件执行指令的动作来表示。然而,在其他范例实施例中,厂商也可设计其他适合的形式来记录指令描述或事件执行指令。例如,在其他范例实施例中,存储器管理电路502也可直接存储且排序多个事件执行指令于工作队列中,以进行对应此些事件执行指令的工作。
图6为本发明的一范例实施例的指标的运作示意图。
请参照图6,举例来说,假设存储器管理电路502在缓冲存储器508中分别记录多笔事件执行指令的指令描述至多个存储器参数单元621~626与存储器参数单元631、632。在本范例实施例中,事件执行指令包括来自主机***的写入指令、读取指令、抹除指令、***指令、必要指令、非必要指令、无操作指令与重置指令,但本发明不限于此。事件执行指令也可包括其他存储器管理电路502可以执行的指令。
如图6所示出,存储器参数单元621是记录对应一个读取指令的指令描述(也可称为,存储器参数单元621是记录一个读取指令);存储器参数单元622是记录对应一个抹除指令的指令描述(也可称为,存储器参数单元621是记录一个抹除指令);存储器参数单元623是记录对应一个写入指令的指令描述(也可称为,存储器参数单元621是记录一个写入指令);存储器参数单元624是记录对应***指令的指令描述(也可称为,存储器参数单元621是记录一个***指令);存储器参数单元625是记录对应一个必要指令的指令描述(也可称为,存储器参数单元621是记录一个必要指令);存储器参数单元626是记录对应一个非必要指令的指令描述(也可称为,存储器参数单元621是记录一个非必要指令);存储器参数单元631是记录对应无操作(Non-operation)指令的指令描述(也可称为,存储器参数单元621是记录一个无操作指令);存储器参数单元632是记录对应重置指令的指令描述(也可称为,存储器参数单元621是记录一个重置指令)。
在本范例实施例中,上述读取指令例如是使用者所欲执行的用以读取数据的指令、来自主机***11的读取指令,或其他的对应单一平面(plane)或是多平面(multi-plane)读取指令。此外,根据读取指令所执行的工作为读取操作。
上述抹除指令例如是抹除单一平面或是多平面的抹除指令,其用来抹除一或多个实体抹除单元。此外,根据抹除指令所执行的工作为抹除操作。
上述写入指令例如是使用者所欲执行的用以写入使用者数据的指令、来自主机***11的写入指令。此外,根据写入指令所执行的工作为写入操作。
上述***指令例如是存储器管理电路502为了管理可复写式非挥发性存储器模块406所下达的指令。举例来说,***指令包括垃圾回收指令、数据合并指令、用以读取***资讯的读取指令、用以写入***资讯的写入指令。此外,根据***指令所执行的工作为***操作。
此外,上述必要指令是指必须要被执行完毕的指令。具体来说,对应必要指令的指令描述可设置至少一位元来作为标记(如,“必要”标记)。当此标记为第一状态时,表示此指令描述具有必要标记,并且表示此指令描述所对应的指令为必须被执行完毕(must bedone)的必要指令。在本范例实施例中,指示写入使用者数据的写入指令的指令描述会具有“必要”标记。换句话说,指示写入使用者数据的写入指令为必要指令的一种。此外,根据必要指令所执行的工作为必要操作。
相对地,上述非必要指令为不具有“必要”标记的指令。或者,在一实施例中,对应非必要指令的指令描述的“必要”标记会被标记为第二状态,其中第二状态不同于第一状态。非必要指令例如是***指令、抹除指令与读取指令也可属于非必要指令。此外,根据非必要指令所执行的工作为非必要操作。换句话说,非必要指令所执行的工作可不执行。应注意的是,在另一实施例中,对应非必要指令的指令描述可另外设置至少一位元来作为标记(如,“非必要”标记)。当“非必要”标记为第三状态时,表示对应此“非必要”标记的事件执行指令所执行的工作是非必要操作。
在本范例实施例中,存储器管理电路502会预先存储对应无操作(Non-operation)指令的存储器参数单元631与对应重置指令的存储器参数单元632于缓冲存储器508中。当存储器管理电路502下达无操作指令至可复写式非挥发性存储器模块406时,可复写式非挥发性存储器模块406不进行任何操作,并且据此回应存储器管理电路502此无操作指令已经执行完毕。此外,根据无操作指令所执行的工作为无操作工作。
当存储器管理电路502下达重置(Reset)指令至可复写式非挥发性存储器模块406时,可复写式非挥发性存储器模块406会进行重置操作,以准备接收且进行其他指令,并且在完成重置操作后回应存储器管理电路502此重置指令已执行完毕。此外,根据重置指令所执行的工作为重置操作。在本范例实施例中,可复写式非挥发性存储器模块406执行无操作指令所耗费的时间短于可复写式非挥发性存储器模块406执行其他指令所耗费的时间,并且可复写式非挥发性存储器模块406执行重置指令所耗费的时间短于可复写式非挥发性存储器模块406执行写入指令或读取指令所耗费的时间。
请再参考图6,为了排程对应上述指令的工作,存储器管理电路502会在工作队列(如多触发队列,Multi-trigger queue,MTQ)610中排序且记录多个事件,其中每一事件分别具有指向至存储器参数单元621~626的指标611~616。并且,存储器管理电路502会执行此工作队列610,以处理存储在工作队列610中的事件。更详细地说,存储器管理电路502会根据工作队列610中的事件的指标611~616存储于工作队列610的顺序来依序读取所指向的存储器参数单元621~626,进而根据存储在被指向的存储器参数单元中的指令描述来进行对应的指令/工作。
如图6所示出,假设指标611指向至存储器参数单元621;指标612指向至存储器参数单元622;指标613指向至存储器参数单元623;指标614指向至存储器参数单元624;指标615指向至存储器参数单元625;指标616指向至存储器参数单元626。根据工作队列610中的指标611~616的顺序,存储器管理电路502会依序读取且执行记录于存储器参数单元621~626的指令描述。例如,对应记录于存储器参数单元621的指令描述的读取指令会被先执行,并且对应记录于存储器参数单元626的指令描述的非必要指令会被最后执行。值得一提的是,在本实施例中,工作队列610存储了6个事件,并且每一事件具有1个指标,但本发明不限于此。例如,在另一范例实施例中,工作队列610可存储其它数目的事件,并且每一事件可具有其它数目的指标。
如上所述,在本范例实施例中,存储器管理电路502会判断是否发生一可触发特殊处理程序的特殊事件(如,电源错误事件、快速执行工作队列事件或清除工作队列事件)。举例来说,假设特殊事件为电源错误事件。当接收到来自电源管理电路510的电源错误通知后,存储器管理电路502会判定电源错误事件发生,暂停执行中的部分工作,以执行特殊处理程序。具体来说,存储器管理电路502会执行一个处理电源错误事件的中断,将部分硬件的运作暂停。存储器管理电路502也会暂停执行中的工作队列610。
在此特殊处理程序中,存储器管理电路502会判断已排程(存储)至工作队列610中的事件,进而有效地利用临时电力来进行工作队列610中的必要的事件。
具体来说,存储器管理电路502会先根据事件分配记录来辨识当前存储在工作队列610的多个事件,并且判断存储在工作队列610中的事件的类型。接着,根据所判定的工作队列610中的事件的类型来调整工作队列610中的事件所执行的工作。更详细来说,存储器管理电路502会先根据事件分配记录来辨识工作队列610中的事件的指标所指向的事件执行指令的类型,并且根据所辨识的事件执行指令的类型,以判断工作队列中的事件的类型。应注意的是,所述事件分配记录可存储在存储器管理电路502的只读存储器、随机存取存储器或其他合适的存储器中,并且所述事件分配记录存储。此外,在另一实施例中,存储器管理电路502可直接(如,不需通过事件分配记录)根据辨识工作队列610中的事件的指标所指向的事件执行指令的内容来辨识事件执行指令的类型。
在本范例实施例中,存储器管理电路502会根据所判定的工作队列610中的事件的类型来将工作队列610中的事件所执行的工作从原本执行的特定工作(也称,第一工作)调整为另一特定工作(也称,第二工作),其中第一工作不同于第二工作。具体来说,所述第一工作包括读取操作、抹除操作与***操作,并且第二工作包括无操作工作。然而,在另一实施例中,第二工作还可以是重置操作。以下会更详细说明本范例实施例如何根据所判定的工作队列610中的事件的类型来将工作队列610中的事件所执行的工作从第一工作调整为第二工作。
在本范例实施例中,在执行特殊处理程序时,存储器管理电路502可将事件执行指令的类型划分为三种类型。第一种类型的事件执行指令(以下也称,第一类型指令)是可以直接被跳过或是不执行的指令。换句话说,第一类型指令是非必要的且可从工作排程中抽走(不执行)的事件执行指令,故在执行特殊处理程序时,此第一类型指令可被置换为无操作指令。此第一类型指令可例如是读取指令或***指令。
第二种类型的事件执行指令(以下也称,第二类型指令)是指可以用重置指令来取代的事件执行指令。换句话说,在执行特殊处理程序时,此第二类型指令可被置换为重置指令。第二类型指令可例如是会影响多平面读写的指令、抹除指令,或其他一系列彼此关联的事件执行指令的其中之一。如此一来,据此可避免可复写式非挥发性存储器模块406因为此类彼此关联的指令被置换后所导致的错误。
第三种类型的事件执行指令(以下也称,第三类型指令)是指必须被执行完毕的事件执行指令。第三类型指令可例如是上述的必要指令或写入使用者数据的写入指令。
举例来说,指标611指向至存储器参数单元621,其中存储器参数单元621记录对应读取指令的指令描述(简言之,指标611指向至读取指令),并且读取指令为第一类型指令。存储器管理电路502会根据读取指令的类型(第一类型)来判定指标611所属的事件为第一类型。以此类推,存储器管理电路502会根据指标612~616所指向的事件执行指令的类型来分别判断指标612~616所属的事件的类型。例如,根据上述的判断方法与例子,指标612所属的事件会被判定为第二类型;指标613所属的事件会被判定为第三类型;指标614所属的事件会被判定为第一类型;指标615所属的事件会被判定为第三类型;指标616所属的事件会被判定为第一类型。
在另一实施例中,存储器管理电路502可直接通过事件的指标的形式(如,指标的内容编码)来得知指标所属的事件的类型。例如,在另一实施例中,存储器管理电路502不需去辨识工作队列中事件的指标所指向的事件执行指令的类型,并且可直接从工作队列中事件的指标的内容编码来判定所述指标所属的事件的类型。
应注意的是,在本范例实施例中,指标616所指向的非必要指令被判定为第一类型,并且指标616所属的事件会对应地被判定为第一类型。然而,在另一范例实施例中,指标616所指向的非必要指令被判定为第二类型,并且指标616所属的事件会对应地被判定为第二类型。
在判断完指标611~616所属的事件的类型后,存储器管理电路502会根据指标611~616所属的事件的类型来调整指标611~616。具体来说,存储器管理电路502会根据指标611~616所属的事件的类型来判断是否要改变指标611~616所指向的存储器参数单元,以改变根据指标616~616所执行的事件执行指令,进而调整存储在工作队列610中的事件所执行的工作。简单来说,存储器管理电路502会根据存储在工作队列610中的事件的类型来判断是否要改变工作队列610中的事件所进行的工作。也就是说,在本范例实施例中,存储器管理电路502会利用改变指标611~616所指向的目的地(如,存储器参数单元)的方式,来调整指标611~616所属的事件所执行的工作。
图7为本发明的范例实施例的调整指标的运作示意图。
请参照图7,存储器管理电路502会根据指标611~616所属的事件的类型,将第一类型的事件的指标指向至对应无操作指令的存储器参数单元631(即,将第一类型的指标指向至无操作指令),以将第一类型的事件所执行的工作从第一工作(如,属于第一工作的读取操作或***操作)调整为无操作工作;将第二类型的事件的指标指向至对应重置指令的存储器参数单元632(即,将第一类型的指标指向至重置指令),将第二类型的事件所执行的工作从第一工作(如,属于第一工作的抹除操作)调整为重置操作;以及不改变第三类型的事件的指标所指向的存储器参数单元(即,维持第三类型的指标原先所指向的事件执行指令,或不调整第三类型的事件所执行的工作)。应注意的是,在另一范例实施例中,厂商也可设定存储器管理电路502将第一类型(或第二类型)的事件的指标指向至不影响可复写式非挥发性存储器模块406的特殊指令,并且此特殊指令所需耗费的执行时间相较于其他指令较短。
根据上述对应图6的例子,存储器管理电路502会将为第一类型的事件的指标611、614、616调整为指向至存储器参数单元631;将为第二类型的事件的指标612调整为指向存储器参数单元621。并且,存储器管理电路502会维持第三类型的事件的指标613、615原先所指向的存储器参数单元(如,指标613仍然指向至存储器参数单元623,并且指标615仍然指向至存储器参数单元625)。
在完成根据工作队列610中每一事件的类型来调整每一事件的指标所指向的事件执行指令后,存储器管理电路502会离开处理电源错误事件的中断,继续恢复所有硬件的频道,并且继续执行工作队列610。在一实施例中,存储器管理电路502会继续执行工作队列610中尚未被执行的事件。
应注意的是,在本范例实施例中,存储器管理电路502会改变第一类型与第二类型的事件的指标所指向的存储器参数单元。然而,在另一范例实施例中,存储器管理电路502会直接“跳过”第一类型或第二类型的事件的指标,不执行第一类型或第二类型的指标,并且执行第三类型的事件的指标。例如,如上述的例子,存储器管理电路502会仅执行指标613与指标615。换句话说,存储器管理电路502会仅依序执行存储器参数单元623所对应的写入指令与存储器参数单元625所对应的必要指令。
在又另一范例实施例中,存储器管理电路502会从工作队列中移除上述第一类型与第二类型的事件。并且,存储器管理电路502会根据未被移除的第三类型的事件,以执行对应的第三类型的事件执行指令。
值得一提的是,在一范例实施例中,若工作队列610不具有任何事件,存储器管理电路502会加入一个重置事件于工作队列610中,并且所述重置事件具有指向至重置指令(如,指向存储器参数单元632)的指标。在另一范例实施例中,若在处理对应写入指令的事件(也称,写入事件)之前未执行任何重置事件,存储器管理电路502会在所述对应写入指令的事件之前加入一个重置事件。也就是说,在处理写入事件之前,存储器管理电路502会处理所述重置事件,以执行对应重置事件的重置操作。
图8为本发明的一范例实施例的存储器管理方法的步骤流程图。
请参考图8,在步骤S801中,存储器管理电路502检测特殊事件是否发生。若特殊事件发生,接续至步骤S803,存储器管理电路502暂停执行中的工作队列,其中所述工作队列存储有多个事件,并且所述事件中的每一事件分别用以执行对应所述事件之中的每一事件的工作。在步骤S805中,存储器管理电路502判断所述工作队列中至少一事件的类型。在步骤S807中,存储器管理电路502根据所述至少一事件的所述类型来调整所述至少一事件所执行的工作。在步骤S809中,当调整完所述至少一事件所执行的所述工作后,继续执行所述工作队列。
综上所述,本发明的范例实施例所提供的存储器管理方法、存储器控制电路单元与存储器存储装置,可调整工作队列中的已排程指令,使非必要的指令被替换为无操作指令或重置指令,以大幅减少处理非必要的指令所耗费的时间(电力)。此外,节省后的剩余临时电力将足以执行必要的指令。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (30)
1.一种存储器管理方法,其特征在于,用于一可复写式非挥发性存储器模块,该存储器管理方法包括:
判断一特殊事件是否发生;
若所述特殊事件发生,判断一工作队列中至少一事件的类型,其中所述工作队列存储有多个事件,并且该些事件中的每一事件分别用以执行一相对应的工作,其中该些事件之中的每一事件分别具有一指标,其中该些事件之中的每一事件的所述指标分别指向对应该些事件之中的每一事件的一存储器参数单元,其中对应该些事件之中的每一事件的所述存储器参数单元存储有对应该些事件之中的每一事件的一事件执行指令;
根据所述至少一事件的所述类型来经由改变所述至少一事件的所述指标,以将所述至少一事件所执行的所述工作从一第一工作调整为一第二工作,其中所述第一工作不同于所述第二工作;以及
当所述第一工作调整为所述第二工作后,待命执行所述第二工作。
2.根据权利要求1所述的存储器管理方法,其特征在于,还包括暂停执行中的所述工作队列,及当所述第一工作调整为所述第二工作后,继续执行所述工作队列。
3.根据权利要求1所述的存储器管理方法,其特征在于,所述第一工作包括一读取操作、一抹除操作或一***操作,
其中所述第二工作包括一无操作工作。
4.根据权利要求1所述的存储器管理方法,其特征在于,所述第二工作包括一重置操作。
5.根据权利要求1所述的存储器管理方法,其特征在于,所述存储器管理方法还包括:
若处理该些事件之中的每一事件,根据该些事件之中的每一事件的所述指标所指向的所述存储器参数单元,来读取存储在所述存储器参数单元的对应该些事件之中的每一事件的所述事件执行指令;以及
根据所读取的所述事件执行指令来执行对应该些事件之中的每一事件的所述工作。
6.根据权利要求5所述的存储器管理方法,其特征在于,上述判断所述工作队列中所述至少一事件的类型的步骤包括:
辨识所述至少一事件的一指标所指向的一事件执行指令的一类型;以及
根据所辨识的所述至少一事件的所述指标所指向的所述事件执行指令的所述类型,来判断所述工作队列中所述至少一事件的所述类型。
7.根据权利要求6所述的存储器管理方法,其特征在于,上述根据所述至少一事件的所述类型来将所述至少一事件所执行的所述工作从所述第一工作调整为所述第二工作的步骤还包括:
若所述至少一事件的所述类型为一第一类型,将所述至少一事件所执行的所述工作从所述第一工作调整为一无操作工作;
若所述至少一事件的所述类型为一第二类型,将所述至少一事件所执行的所述工作从所述第一工作调整为一重置工作;以及
若所述至少一事件的所述类型为一第三类型,不调整所述至少一事件所执行的所述工作。
8.根据权利要求7所述的存储器管理方法,其特征在于,该些事件执行指令包括一读取指令、一***指令、一抹除指令与来自一主机***的一写入指令,其中所述***指令用于管理所述可复写式非挥发性存储器模块,其中来自所述主机***的所述写入指令用以指示写入一使用者数据至所述可复写式非挥发性存储器模块,其中上述根据辨识所述至少一事件的所述指标所指向的所述事件执行指令的所述类型,来判断所述工作队列中所述至少一事件的所述类型的步骤包括:
若所述至少一事件的所述指标指向至所述读取指令或所述***指令,判定所述至少一事件的所述类型为所述第一类型;
若所述至少一事件的所述指标指向至所述抹除指令,判定所述至少一事件的所述类型为所述第二类型;以及
若所述至少一事件的所述指标指向至来自所述主机***的所述写入指令,判定所述至少一事件的所述类型为所述第三类型。
9.根据权利要求7所述的存储器管理方法,其特征在于,上述根据所述至少一事件的所述类型来将所述至少一事件所执行的所述工作从所述第一工作调整为所述第二工作的步骤包括:
若所述至少一事件的所述类型为所述第一类型或所述第二类型,从所述工作队列中移除所述至少一事件。
10.根据权利要求1所述的存储器管理方法,其特征在于,所述特殊事件包括一电源错误事件、一快速执行工作队列事件或一清除工作队列事件。
11.一种存储器控制电路单元,其特征在于,用于控制一存储器存储装置,所述存储器控制电路单元包括:
一主机接口,电性连接至一主机***;
一存储器接口,电性连接至一可复写式非挥发性存储器模块;以及
一存储器管理电路,电性连接至所述主机接口与所述存储器接口,
其中所述存储器管理电路用以判断一特殊事件是否发生,
其中若所述特殊事件发生,所述存储器管理电路还用以判断一工作队列中至少一事件的类型,其中所述工作队列存储有多个事件,并且该些事件中的每一事件分别用以执行一相对应的工作,其中该些事件之中的每一事件分别具有一指标,其中该些事件之中的每一事件的所述指标分别指向对应该些事件之中的每一事件的一存储器参数单元,其中对应该些事件之中的每一事件的所述存储器参数单元存储有对应该些事件之中的每一事件的一事件执行指令,
其中所述存储器管理电路还用以根据所述至少一事件的所述类型来经由改变所述至少一事件的所述指标,以将所述至少一事件所执行的所述工作从一第一工作调整为一第二工作,其中所述第一工作不同于所述第二工作,
其中当所述第一工作调整为所述第二工作后,所述存储器管理电路还用以待命执行所述第二工作。
12.根据权利要求11所述的存储器控制电路单元,其特征在于,所述存储器管理电路暂停执行中的所述工作队列,及当所述第一工作调整为所述第二工作后,继续执行所述工作队列。
13.根据权利要求11所述的存储器控制电路单元,所述第一工作包括一读取操作、一抹除操作或一***操作,
其中所述第二工作包括一无操作工作。
14.根据权利要求11所述的存储器控制电路单元,其特征在于,所述第二工作包括一重置操作。
15.根据权利要求11所述的存储器控制电路单元,其特征在于,
其中所述存储器管理电路执行所述工作队列以处理所述工作队列中的该些事件,
其中若所述存储器管理电路处理该些事件之中的每一事件,所述存储器管理电路根据该些事件之中的每一事件的所述指标所指向的所述存储器参数单元,来读取存储在所述存储器参数单元的对应该些事件之中的每一事件的所述事件执行指令,
其中所述存储器管理电路根据所读取的所述事件执行指令来执行对应该些事件之中的每一事件的所述工作。
16.根据权利要求15所述的存储器控制电路单元,其特征在于,在上述所述存储器管理电路还用以判断所述工作队列中所述至少一事件的类型的运作中,
所述存储器管理电路辨识所述至少一事件的一指标所指向的一事件执行指令的一类型,
其中所述存储器管理电路根据所辨识的所述至少一事件的所述指标所指向的所述事件执行指令的所述类型,来判断所述工作队列中所述至少一事件的所述类型。
17.根据权利要求16所述的存储器控制电路单元,其特征在于,在上述所述存储器管理电路还用以根据所述至少一事件的所述类型来将所述至少一事件所执行的所述工作从所述第一工作调整为所述第二工作的运作中,
若所述至少一事件的所述类型为一第一类型,所述存储器管理电路将所述至少一事件所执行的所述工作从所述第一工作调整为一无操作工作,
其中若所述至少一事件的所述类型为一第二类型,所述存储器管理电路将所述至少一事件所执行的所述工作从所述第一工作调整为一重置工作,
其中若该至少一事件的所述类型为一第三类型,所述存储器管理电路不调整所述至少一事件所执行的所述工作。
18.根据权利要求17所述的存储器控制电路单元,其特征在于,该些事件执行指令包括一读取指令、一***指令、一抹除指令与来自一主机***的一写入指令,其中所述***指令用于管理所述可复写式非挥发性存储器模块,其中来自所述主机***的所述写入指令用以指示写入一使用者数据至所述可复写式非挥发性存储器模块,其中在上述所述存储器管理电路根据辨识所述至少一事件的所述指标所指向的所述事件执行指令的所述类型,来判断所述工作队列中所述至少一事件的所述类型的运作中,
若所述至少一事件的所述指标指向至所述读取指令或所述***指令,所述存储器管理电路判定所述至少一事件的所述类型为所述第一类型,
其中若所述至少一事件的所述指标指向至所述抹除指令,所述存储器管理电路判定所述至少一事件的所述类型为所述第二类型,
其中若所述至少一事件的所述指标指向至来自所述主机***的所述写入指令,所述存储器管理电路判定所述至少一事件的所述类型为所述第三类型。
19.根据权利要求17所述的存储器控制电路单元,其特征在于,在上述所述存储器管理电路还用以根据所述至少一事件的所述类型来将所述至少一事件所执行的所述工作从所述第一工作调整为所述第二工作的运作中,
若所述至少一事件的所述类型为所述第一类型或所述第二类型,所述存储器管理电路从所述工作队列中移除所述至少一事件。
20.根据权利要求11所述的存储器控制电路单元,其特征在于,所述特殊事件包括一电源错误事件、一快速执行工作队列事件或一清除工作队列事件。
21.一种存储器存储装置,其特征在于,包括:
一连接接口单元,用以电性连接至一主机***;
一可复写式非挥发性存储器模块;以及
一存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非挥发性存储器模块,
其中所述存储器控制电路单元用以判断一特殊事件是否发生,
其中若所述特殊事件发生,所述存储器控制电路单元还用以判断一工作队列中至少一事件的类型,其中所述工作队列存储有多个事件,并且该些事件中的每一事件分别用以执行一相对应的工作,其中该些事件之中的每一事件分别具有一指标,其中该些事件之中的每一事件的所述指标分别指向对应该些事件之中的每一事件的一存储器参数单元,其中对应该些事件之中的每一事件的所述存储器参数单元存储有对应该些事件之中的每一事件的一事件执行指令,
其中所述存储器控制电路单元还用以根据所述至少一事件的所述类型来经由改变所述至少一事件的所述指标,以将所述至少一事件所执行的所述工作从一第一工作调整为一第二工作,其中所述第一工作不同于所述第二工作,
其中当所述第一工作调整为所述第二工作后,所述存储器控制电路单元还用以待命执行所述第二工作。
22.根据权利要求21所述的存储器存储装置,其特征在于,在所述存储器控制电路单元暂停执行中的所述工作队列,及当所述第一工作调整为所述第二工作后,继续执行所述工作队列。
23.根据权利要求21所述的存储器存储装置,其特征在于,所述第一工作包括一读取操作、一抹除操作或一***操作,
其中所述第二工作包括一无操作工作。
24.根据权利要求21所述的存储器存储装置,其特征在于,所述第二工作包括一重置操作。
25.根据权利要求21所述的存储器存储装置,其特征在于,
其中所述存储器控制电路单元执行所述工作队列以处理所述工作队列中的该些事件,
其中若该存储器控制电路单元处理该些事件之中的每一事件,所述存储器控制电路单元根据该些事件之中的每一事件的所述指标所指向的所述存储器参数单元,来读取存储在所述存储器参数单元的对应该些事件之中的每一事件的所述事件执行指令,
其中所述存储器控制电路单元根据所读取的所述事件执行指令来执行对应该些事件之中的每一事件的所述工作。
26.根据权利要求25所述的存储器存储装置,其特征在于,在上述所述存储器控制电路单元还用以判断所述工作队列中所述至少一事件的类型的运作中,
所述存储器控制电路单元辨识所述至少一事件的一指标所指向的一事件执行指令的一类型,
其中所述存储器控制电路单元根据所辨识的所述至少一事件的所述指标所指向的所述事件执行指令的所述类型,来判断所述工作队列中所述至少一事件的所述类型。
27.根据权利要求26所述的存储器存储装置,其特征在于,在上述所述存储器控制电路单元还用以根据所述至少一事件的所述类型来将所述至少一事件所执行的所述工作从所述第一工作调整为所述第二工作的运作中,
若所述至少一事件的所述类型为一第一类型,所述存储器控制电路单元将所述至少一事件所执行的所述工作从所述第一工作调整为一无操作工作,
其中若所述至少一事件的所述类型为一第二类型,所述存储器控制电路单元将所述至少一事件所执行的所述工作从所述第一工作调整为一重置工作,
其中若所述至少一事件的所述类型为一第三类型,所述存储器控制电路单元不调整所述至少一事件所执行的所述工作。
28.根据权利要求27所述的存储器存储装置,其特征在于,该些事件执行指令包括一读取指令、一***指令、一抹除指令与来自一主机***的一写入指令,其中所述***指令用于管理所述可复写式非挥发性存储器模块,其中来自所述主机***的所述写入指令用以指示写入一使用者数据至所述可复写式非挥发性存储器模块,其中在上述所述存储器控制电路单元根据辨识所述至少一事件的所述指标所指向的所述事件执行指令的所述类型,来判断所述工作队列中所述至少一事件的所述类型的运作中,
若所述至少一事件的所述指标指向至所述读取指令或所述***指令,所述存储器控制电路单元判定所述至少一事件的所述类型为所述第一类型,
其中若所述至少一事件的所述指标指向至所述抹除指令,所述存储器控制电路单元判定所述至少一事件的所述类型为所述第二类型,
其中若所述至少一事件的所述指标指向至来自所述主机***的所述写入指令,所述存储器控制电路单元判定所述至少一事件的所述类型为所述第三类型。
29.根据权利要求27所述的存储器存储装置,其特征在于,在上述所述存储器控制电路单元还用以根据所述至少一事件的所述类型来将所述至少一事件所执行的所述工作从所述第一工作调整为所述第二工作的运作中,
若所述所述至少一事件的所述类型为所述第一类型或所述第二类型,所述存储器控制电路单元从所述工作队列中移除所述至少一事件。
30.根据权利要求21所述的存储器存储装置,其特征在于,所述特殊事件包括一电源错误事件、一快速执行工作队列事件或一清除工作队列事件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510919968.9A CN106873901B (zh) | 2015-12-11 | 2015-12-11 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510919968.9A CN106873901B (zh) | 2015-12-11 | 2015-12-11 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106873901A CN106873901A (zh) | 2017-06-20 |
CN106873901B true CN106873901B (zh) | 2020-02-07 |
Family
ID=59178080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510919968.9A Active CN106873901B (zh) | 2015-12-11 | 2015-12-11 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106873901B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109509499B (zh) * | 2017-09-14 | 2023-02-28 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201207621A (en) * | 2010-08-12 | 2012-02-16 | Phison Electronics Corp | Method for dispatching and transmitting data stream, memory controller and memory storage apparatus |
CN104937577A (zh) * | 2013-03-15 | 2015-09-23 | 惠普发展公司,有限责任合伙企业 | 支持扩展写入的存储器模块控制器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6694453B1 (en) * | 2000-11-14 | 2004-02-17 | Hewlett-Packard Development Company, L.P. | Apparatus and method to handle power supply failures for a peripheral device |
US7565662B2 (en) * | 2004-09-24 | 2009-07-21 | International Business Machines Corporation | Program agent initiated processing of enqueued event actions |
US7647483B2 (en) * | 2007-02-20 | 2010-01-12 | Sony Computer Entertainment Inc. | Multi-threaded parallel processor methods and apparatus |
US9037820B2 (en) * | 2012-06-29 | 2015-05-19 | Intel Corporation | Optimized context drop for a solid state drive (SSD) |
CN105474192A (zh) * | 2013-09-23 | 2016-04-06 | 英特尔公司 | 数据到非易失性存储器的事件触发的存储 |
-
2015
- 2015-12-11 CN CN201510919968.9A patent/CN106873901B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201207621A (en) * | 2010-08-12 | 2012-02-16 | Phison Electronics Corp | Method for dispatching and transmitting data stream, memory controller and memory storage apparatus |
CN104937577A (zh) * | 2013-03-15 | 2015-09-23 | 惠普发展公司,有限责任合伙企业 | 支持扩展写入的存储器模块控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN106873901A (zh) | 2017-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10101914B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
US8392649B2 (en) | Memory storage device, controller, and method for responding to host write commands triggering data movement | |
TWI515735B (zh) | 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置 | |
US10409525B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
US9940021B2 (en) | Method and system for memory management and memory storage device thereof | |
KR102114109B1 (ko) | 데이터 저장 장치 | |
US20110099324A1 (en) | Flash memory storage system and flash memory controller and data processing method thereof | |
US8589619B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
US9460004B2 (en) | Memory erasing method, memory controller, and memory storage apparatus | |
US8423838B2 (en) | Block management method, memory controller, and memory storage apparatus | |
US9965400B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
TWI648634B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI596612B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
US9823844B2 (en) | Memory management method, memory control circuit unit, and memory storage apparatus | |
US11693567B2 (en) | Memory performance optimization method, memory control circuit unit and memory storage device | |
CN107346211B (zh) | 映射表加载方法、存储器控制电路单元与存储器储存装置 | |
US10191533B2 (en) | Method of enabling sleep mode, memory control circuit unit and storage apparatus | |
CN106325764B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
US9733832B2 (en) | Buffer memory accessing method, memory controller and memory storage device | |
CN106873901B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN104765625A (zh) | 休眠模式启动方法、存储器控制电路单元及存储装置 | |
US10191659B2 (en) | Buffer memory management method, memory control circuit unit and memory storage device | |
CN113138720A (zh) | 数据存储方法、存储器控制电路单元以及存储器存储装置 | |
CN106970763B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN107229413B (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |