CONTROLLER, STORAGE DEVICE, AND COMPUTER PROGRAM PRODUCT
1 Assignment
0 Petitions
Accused Products
Abstract
According to an embodiment, a controller is connected to an external storage device and controls access to a semiconductor storage device including blocks each including memory cell groups each having memory cells. The block includes pages associated with each memory cell group. A writing process for each memory cell group includes writing stages. The controller includes a determining unit configured to determine data to be transferred to the page required in the writing process for a first memory cell group before the writing stage first starts when the writing stage is performed; a reading unit configured to read the determined data from the semiconductor storage device and to store the read data in the external storage device before the writing stage starts; and a writing unit configured to perform the writing process using the data stored in the external storage device when the writing stage is performed.
-
Citations
7 Claims
-
1. (canceled)
-
2. A controller that is connected to an external storage device storing data and controls access to a semiconductor storage device including a plurality of blocks each of which includes N (N is an integer equal to or greater than 2) memory cell groups each having a plurality of memory cells, the block including a plurality of pages, each of the pages being a predetermined unit storage area, each of the memory cell groups, a writing process for each of the memory cell groups including P (P is an integer equal to or greater than 2) writing stages each of which is a unit process of writing data to the memory cell groups, at least one of pages required in the writing process for the memory cell groups which is a write target being predetermined in each of the writing stages, the writing stages being performed in a predetermined order, the controller comprising:
-
a determining unit configured to determine data to be transferred to the page which is required in the writing process for a first memory cell group of the memory cell groups before a first writing stage starts, the first writing stage being one of the writing stages in which the page required in the writing process for the first memory cell group becomes necessary for the first time when the writing stages are performed in a predetermined order; a reading unit configured to read the determined data from the semiconductor storage device and to store the read data in the external storage device before each of the writing stages starts; a writing unit configured to perform each of the writing stages of the first memory cell group using the data stored in the external storage device as data for the page required in each of the writing stages of the first memory cell group when each of the writing stages is performed; and a transfer control unit configured to deallocate a storage area of the external storage device storing the data which is written by the writing unit as the data for the page required in each of the writing stages of the first memory cell group after each of the writing stages is completed, wherein when a subsequent writing stage requires the data stored in the storage area, the transfer control unit delays a deallocation of the storage area until the subsequent writing stage is completed, when the storage area of the external storage device storing the determined data is not deallocated, the reading unit does not read the determined data from the semiconductor storage device, and capacity of the external storage device is three times or more in size than that of the plurality of the pages included in the block.
-
-
3. A storage device, comprising:
-
an external storage device configured to store data; a semiconductor storage device configured to include a plurality of blocks each of which includes N (N is an integer equal to or greater than
2) memory cell groups each having a plurality of memory cells; anda controller configured to control access to the semiconductor storage device, wherein the block includes a plurality of pages, each of the pages is a predetermined unit storage area, each of the memory cell groups are associated with the plurality of the pages, a writing process for each of the memory cell groups includes P (P is an integer equal to or greater than
2) writing stages each of which is a unit process of writing data to the memory cell groups,at least one of pages required in the writing process for the memory cell groups which is a write target is predetermined in each of the writing stages, the writing stages are performed in a predetermined order, and the controller comprises; a determining unit configured to determine data to be transferred to the page which is required in the writing process for a first memory cell group of the memory cell groups before a first writing stage starts the first writing stage being one of the writing stages in which the page required in the writing process for the first memory cell group becomes necessary for the first time when the writing stages are performed in a predetermined order; a reading unit configured to read the determined data from the semiconductor storage device and to store the read data in the external storage device before each of the writing stages starts; a writing unit configured to perform each of the writing stages of the first memory cell group using the data stored in the external storage device as data for the page required in each of the writing stages of the first memory cell group when each of the writing stages is performed; and a transfer control unit configured to deallocate a storage area of the external storage device storing the data which is written by the writing unit as the data for the page required in each of the writing stages of the first memory cell group after each of the writing stages is completed, wherein when a subsequent writing stage requires the data stored in the storage area, the transfer control unit delays a deallocation of the storage area until the subsequent writing stage is completed, when the storage area of the external storage device storing the determined data is not deallocated, the reading unit does not read the determined data from the semiconductor storage device, and capacity of the external storage device is three times or more in size than that of the plurality of the pages included in the block.
-
-
4. A non-transitory computer-readable recording medium containing a program executed by a computer that is connected to an external storage device storing data and controls access to a semiconductor storage device including a plurality of blocks each of which includes N (N is an integer equal to or greater than 2) memory cell groups each having a plurality of memory cells, the block including a plurality of pages, each of the pages being a predetermined unit storage area, the plurality of the pages being associated with the memory cell group, a writing process for the memory cell group including P (P is an integer equal to or greater than 2) writing stages each of which is a unit of a process of writing data to the memory cell groups, at least one of pages required in the writing process for the memory cell groups, which is a write target, being predetermined in each of the writing stages, the writing stages being performed in a predetermined order, the program causing the computer to execute:
-
determining data to be transferred to the page which is required in the writing process for a first memory cell group of the memory cell groups before a first writing stage starts, the first writing stage being one of the writing stages in which the page required in the writing process for the first memory cell group becomes necessary for the first time when the writing stages are performed in a predetermined order; reading the determined data from the semiconductor storage device; storing the read data in the external storage device before each of the writing stages starts; performing each of the writing stages of the first memory cell group using the data stored in the external storage device as data for the page required in each of the writing stages of the first memory cell group when each of the writing stages is performed; deallocating a storage area of the external storage device storing the data which is written by the writing unit as the data for the page required in each of the writing stages of the first memory cell group after each of the writing stages is completed; delaying, when a subsequent writing stage requires the data stored in the storage area, a deallocation of the storage area until the subsequent writing stage is completed; and not reading, when the storage area of the external storage device storing the determined data is not deallocated, the determined data from the semiconductor storage device, wherein capacity of the external storage device is three times or more in size than that of the plurality of the pages included in the block.
-
-
5. A controller that is controls access to a first storage device including a plurality of blocks each of which includes N (N is an integer equal to or greater than 2) memory cell groups each having a plurality of memory cells, the block including a plurality of pages, each of the pages being a predetermined unit storage area, each of the memory cell groups being associated with the plurality of the pages, a writing process for each of the memory cell groups including P (P is an integer equal to or greater than 2) writing stages each of which is a unit process of writing data to the memory cell groups, at least one of pages required in the writing process for the memory cell groups which is a write target being predetermined in each of the writing stages, the writing stages being performed in a predetermined order, the controller comprising:
-
a determining unit configured to determine data to be transferred to the page which is required in the writing process for a first memory cell group of the memory cell groups before a first writing stage starts, the first writing stage being one of the writing stages in which the page required in the writing process for the first memory cell group becomes necessary for the first time when the writing stages are performed in a predetermined order; a reading unit configured to read the determined data from the first storage device and to store the read data in a second storage device before each of the writing stages starts; a writing unit configured to perform each of the writing stages of the first memory cell group using the data stored in the second storage device as data for the page required in each of the writing stages of the first memory cell group when each of the writing stages is performed; and a transfer control unit configured to deallocate a storage area of the second storage device storing the data which is written by the writing unit as the data for the page required in each of the writing stages of the first memory cell group after each of the writing stages is completed, wherein capacity of the second storage device is three times or more in size than that of the plurality of the pages included in the block. - View Dependent Claims (6, 7)
-
Specification