发明名称 Controller and method for performing background operations
摘要 The embodiments described herein provide a controller and method for performing a background commands or operations. In one embodiment, a controller is provided with interfaces through which to communicate with a host and a plurality of flash memory devices. The controller contains a processor operative to perform a foreground command received from the host, wherein the processor performs the foreground command to completion without interruption. The processor is also operative to perform a background commands or operations stored in the controller's memory, wherein the processor performs the background command until completed or preempted by a foreground command. If the background command is preempted, the processor can resume performing the background command at a later time until completed.
申请公布号 US8819328(B2) 申请公布日期 2014.08.26
申请号 US201012982833 申请日期 2010.12.30
申请人 SanDisk Technologies Inc. 发明人 Lassa Paul A.;Brief David C.
分类号 G06F12/00;G06F9/48;G06F3/06;G06F12/02 主分类号 G06F12/00
代理机构 Brinks Gilson & Lione 代理人 Brinks Gilson & Lione
主权项 1. A controller comprising: a first interface through which to communicate with a host; a second interface through which to communicate with a plurality of flash memory devices, wherein at least one of the flash memory devices comprises a three-dimensional memory, wherein the three-dimensional memory comprises a plurality of layers of memory cells stacked vertically above one another; a memory configured to store a plurality of background commands, wherein the background commands are for operations to be performed in one or more of the plurality of flash memory devices; a processor in communication with the first and second interfaces and the memory, wherein the processor is operative to: perform a foreground command received from the host via the first interface, wherein the foreground command is for an operation to be performed in one or more of the plurality of flash memory devices, and wherein the processor performs the foreground command to completion without interruption;perform a background command stored in the controller's memory, wherein the processor performs the background command until completed or preempted by a foreground command; andif the background command is preempted, resume performing the background command at a later time; and an error correction code module configured to correct errors in portions of a page of data as the portions are read from the plurality of flash memory devices instead of waiting for the entire page of data to be read from the plurality of flash memory devices before correcting the errors; wherein a foreground command has a predetermined completion time, whereas a background command does not; wherein at least one of the first and second interfaces comprises a NAND interface configured to transfer data using a NAND interface protocol; and wherein the foreground command or the background command is a command to program a page of data to a block of memory in the plurality of flash memory devices, and wherein in response to a failure in programming the page of data to the block of memory in the plurality of flash memory devices, the processor is further configured to copy that page and preceding pages in the block to a replacement block in the plurality of flash memory devices.
地址 Plano TX US