Storage device, storage system, memory management method, recording medium, and computer data signal
AssigneeTokyo Electron Device Limited
InventorTsuyoshi Takahashi
Life of this patent
Estimating the term…
Abstract
A CPU creates a file management BSI and a file management BPT in a zone 0 included in a flash memory storing directories and an FAT, and stores the created BSI and BPT in an SRAM. In response to a command from a computer to read data, the CPU specifies and reads positions of the directories and the FAT based on the file management BPT, and sends the computer with the read data. When accessing data belong to any zone other than the zone 0, the CPU creates a general BPT again, but does not update the file management BPT. Even if data which has previously been accessed belongs to any zone, the directories and the FAT can be accessed without creating the BPT again. Updating of the directories and the FAT can be also achieved without creating the BSI again.
Claims21
A storage device comprising:
- a memory which includes a plurality of memory blocks, each of which stores data and belongs to one of a plurality of zones and to each of which a physical block address is assigned;
- and
- a controller which reads out data stored in the plurality of memory blocks and externally outputs the read data,
- wherein the memory block belonging to a predetermined zone includes a data arrangement memory storing a data arrangement table representing a correspondence between data stored in said memory and a logical address of one memory block storing the data, and
- wherein said controller
- includes a first table memory,
- includes a second table memory,
- creates a first address conversion table, which stores information representing the logical address and a physical address of the one memory block storing the data arrangement table, and stores the created table in said first table memory,
- externally acquires a logical address indicating the data arrangement table, specifies the physical address of the one memory block storing the data arrangement table based on said first address conversion table and the acquired logical address, in response to an externally-transmitted instruction, reads out the data arrangement table from the one memory block represented by the specified physical address, and externally sends the read data arrangement table,
- externally acquires a logical address indicating data to be read, and specifies one of the plurality of zones, to which a memory block represented by the logical address belongs, based on the acquired logical address,
- determines whether said second table memory stores a second address conversion table, which stores information representing a correspondence between the logical address and a physical address of the memory block belonging to the specified zone, and when determined that said second table memory does not store the second address conversion table, creates the second address conversion table, and also stores the created table in said second table memory, and
- specifies, as a physical address indicating data to be read, the physical address corresponding to the externally-acquired logical address, based on the second address conversion table, and reads out and output data stored in the memory block which the specified physical address represents.
A storage system comprising:
- a memory which includes a plurality of memory blocks, each of which stores data and belongs to one of a plurality of zones, and to each of which a physical address is assigned;
- a controller which reads out and outputs data stored in the plurality of memory blocks;
- and
- an access device which acquires the data which said controller outputs, and
- wherein the memory block belonging to a predetermined zone includes a data arrangement memory storing a data arrangement table representing a correspondence between data stored in said memory and a logical address of one memory block storing the data,
- said controller
- includes a first table memory,
- includes a second table memory, and
- creates a first address conversion table, which stores information representing the logical address and a physical address of the one memory block storing the data arrangement table, and stores the created first address conversion table in said first table memory,
- said access device provides the controller with a logical address indicating the data arrangement table,
- said controller specifies the physical address of the one memory block storing the data arrangement table, based on the first address conversion table and the provided logical address indicating the data arrangement table, reads out the data arrangement table from the memory block indicated by the specified physical address, and outputs the read data arrangement table,
- said access device specifies a logical address indicating data to be read, based on the data arrangement table which said controller has read out, and
- said controller
- specifies a zone to which a memory block indicated by the logical address belongs, based on the logical address which said access device specifies,
- determines whether said second table memory stores the second address conversion table storing information representing a correspondence between the logical address and a physical address of the memory block belonging to the specified zone, creates the second address conversion table in said second table memory when determined that said second table memory does not store the second address conversion table, and stores the created second address conversion table in said second table memory, and
- specifies, as a physical address indicating data to be read, the physical address corresponding to the logical address which said access device has specified, based on the second address conversion table, reads out and outputs data stored in one memory block represented by the specified physical address.
A memory management method for managing reading of data from a memory, including a plurality of memory blocks, each of which stores data and belongs to one of a plurality of zones and to each of which a physical address is assigned, and wherein the memory block belonging to a predetermined zone is to store a data arrangement table representing a correspondence between the data and a logical address of the memory block storing the data, said method comprising steps of:
- creating and storing a first address conversion table storing information representing a correspondence between the logical address and a physical address of the memory block storing the data arrangement table;
- externally acquiring a logical address indicating the data arrangement table, and specifying the physical address of the memory block storing the data arrangement table, based on the first address conversion table and the acquired logical address, in response to an externally-acquired instruction, reading the data arrangement table from the memory block which the specified physical address represents, and externally sending the read data arrangement table;
- externally acquiring a logical address indicating data to be read, and specifying a zone to which a memory block, represented by the acquired logical address, belongs based on the acquired logical address;
- determining whether a second address conversion table, which stores information representing a correspondence between the logical address and a physical address of the memory block belonging to the specified zone, is created, and creating and storing the second address conversion table when determined that the second address conversion table is not created;
- and
- specifying, as a physical address indicating data to be read, the physical address corresponding to the externally acquired logical address, based on the second address conversion table, and reading and outputting data stored in the memory block which the specified physical address represents.
A memory management method for managing reading of data from a memory, including a plurality of memory blocks, each of which stores data and belongs to one of a plurality of zones and to each of which a physical address is assigned, and wherein the memory block belonging to a predetermined zone is to store a data arrangement table representing a correspondence between the data and a logical address of a memory block storing the data, said method comprising steps of:
- creating and storing a first address conversion table, which stores information representing a correspondence between the logical address and a physical address of one memory block storing the data arrangement table;
- externally acquiring a logical address indicating the data arrangement table, and specifying a physical address of a memory block storing the data arrangement table, based on the first address conversion table and the acquired logical address, in response to an externally-sent instruction, and reading the data arrangement table from the memory block which the specified physical address represents;
- specifying a logical address indicating data to be read, based on the read data arrangement table;
- specifying a zone to which a memory block represented by the logical address belongs, based on the specified logical address;
- determining whether a second address conversion table, which stores information representing a correspondence between the logical address and a physical address of the memory block belonging to the specified zone, is created, and creating and storing the second address conversion table when determined that the table is not created;
- and
- specifying, as a physical address indicating data to be read, the physical address which the specified logical address represented, and reading and outputting data stored in the memory block represented by the specified physical address, based on the second address conversion table.
A storage device comprising:
- storage means having a plurality of memory blocks, each of which stores data and belongs to one of a plurality of zones and to each of which a physical block address is assigned;
- and
- reading means for reading out data stored in the plurality of memory blocks and externally outputs the read data,
- wherein the memory block belonging to a predetermined zone further comprising data arrangement memory storing means for storing a data arrangement table representing a correspondence between data stored in said memory and a logical address of one memory block storing the data, and
- wherein said reading means further comprising;
- first table storing means for creating a first address conversion table, which stores information representing the logical address and a physical address of the one memory block storing the data arrangement table, and storing the created table,
- data arrangement table searching means for externally acquiring a logical address indicating the data arrangement table, and specifying the physical address of the one memory block storing the data arrangement table based on said first address conversion table and the acquired logical address, in response to an externally-transmitted instruction, and reading out the data arrangement table from the one memory block represented by the specified physical address, and also externally sending the read data arrangement table,
- zone specifying means for externally acquiring a logical address indicating data to be read, and specifying one of the plurality of zones, to which a memory block represented by the logical address belongs, based on the acquired logical address,
- second table storing means for determining whether said second table memory stores a second address conversion table, which stores information representing a correspondence between the logical address and a physical address of the memory block belonging to the specified zone, and when determined that said second table memory does not store the second address conversion table, creating the second address conversion table, and also storing the created table, and
- data searching means for specifying, as a physical address indicating data to be read, the physical address corresponding to the externally-acquired logical address, based on the second address conversion table, and reading out and output data stored in the memory block which the specified physical address represents.
A computer readable recording medium which stores programs for making a computer function as a controller, which is connected to a memory, including a plurality of memory blocks, each of which stores data and belongs to one of a plurality of zones and to each of which a physical address is assigned, and wherein the memory block belonging to a predetermined zone is to store data arrangement table, which represents a correspondence between the data and a logical address representing a physical address of a memory block storing the data, and wherein said computer:
- includes a first table memory and a second table memory;
- creates a first address conversion table, which stores information representing a correspondence between the logical address and a physical address of the memory block storing the data arrangement table, and stores the created first address conversion table in said first table memory;
- externally acquires a logical address indicating the data arrangement table, and specifies the physical address of the memory block storing the data arrangement table, based on the first address conversion table and the acquired logical address, in response to an externally-sent instruction, reads the data arrangement table from the memory block which the specified physical address represents, and externally sends the read data arrangement table;
- externally acquires a logical address indicating data to be read, and specifies a zone to which a memory block represented by the logical address belongs based on the acquired logical address;
- determines whether said second table memory stores a second address conversion table storing information representing a correspondence between the logical address and a physical address of the memory block belonging to the specified zone, and creates the second address conversion table when determined that said second table memory does not store the second address conversion table, and stores the created table in the second table memory;
- and
- specifies, as a physical address indicating data to be read, the physical address corresponding to the externally-sent logical address, based on the second address conversion table, and reads out and outputs data stored in a memory block which the specified physical address represents.
A computer data signal embodied in a carrier wave and representing a program for making a computer function as a controller which is connected to a memory including a plurality of memory blocks, each of which stores data and belongs to one of a plurality of zones and to each of which a physical address is assigned, and wherein the memory block belonging to a predetermined zone stores a data arrangement table representing a correspondence between the data and a physical address of a memory block storing the data, and wherein said computer:
- includes a first table memory and a second table memory;
- creates a first address conversion table, which stores information representing a correspondence between the logical address and a physical address of the memory block storing the data arrangement table, and stores the created first address conversion table in said table memory;
- externally acquires a logical address indicating the data arrangement table, and specifies a physical address of the memory block storing the data arrangement table, based on the first address conversion table and the acquired logical address, in response to an externally-sent instruction, reads out the data arrangement table from the memory block which the specified physical address represents, and externally sends the read data arrangement table;
- externally acquires a logical address indicating data to be read, and specifies a zone to which a memory block represented by the acquired logical address belongs, based on the logical address;
- determines whether said second table memory stores a second address conversion table storing information representing a correspondence between the logical address and a physical address of the memory block belonging to the specified zone, and creates the second address conversion table when determined that said second table memory does not store the information, and stores the created table in said second table memory;
- and
- specifies, as a physical address indicating data to be read, the physical address corresponding to the externally-acquired logical address, based on the second address conversion table, and reads and outputs data stored in the memory block represented by the specified physical address.
Dependencies are inferred from the claim text.