ARRAY CONTROLLER, SOLID STATE DISK, AND METHOD FOR CONTROLLING SOLID STATE DISK TO WRITE DATA
First Claim
1. An array controller in a storage system, comprising:
- a communication interface coupled to a solid state disk (SSD), wherein the SSD comprises one or more flash memory chips, each flash memory chip comprises a plurality of physical blocks; and
a processor, configured to;
obtain logical block information of the SSD, wherein the logical block information includes a size and indication information of a logical block of the SSD, wherein the logical block corresponds to one or more physical blocks of the SSD; and
send, via the communication interface, one or more data writing requests to the SSD, to instruct the SSD to store data carried in the data writing requests;
wherein a total size of data carried in the data writing requests equals to the size of the logical block, and wherein the data carried in the data writing requests are written into the one or more physical blocks corresponding to the logical block.
1 Assignment
0 Petitions
Accused Products
Abstract
Application relates to storage technologies, and in particular, to writing data in a storage system having solid state disks. Embodiments of the application provide an array controller, including a communication interface and a processor. The processor receives information about a logical block from a solid state disk. The information about the logical block includes a size of the logical block and indication information of the logical block, and the logical block includes one or more physical blocks. The processor sends multiple write data requests to the solid state disk. Each write data request includes data, and each write data request instructs the solid state disk to write the data into the logical block indicated by the indication information of the logical block. A total size of data included in the multiple write data requests is equivalent to the size of the logical block.
-
Citations
20 Claims
-
1. An array controller in a storage system, comprising:
-
a communication interface coupled to a solid state disk (SSD), wherein the SSD comprises one or more flash memory chips, each flash memory chip comprises a plurality of physical blocks; and a processor, configured to; obtain logical block information of the SSD, wherein the logical block information includes a size and indication information of a logical block of the SSD, wherein the logical block corresponds to one or more physical blocks of the SSD; and send, via the communication interface, one or more data writing requests to the SSD, to instruct the SSD to store data carried in the data writing requests; wherein a total size of data carried in the data writing requests equals to the size of the logical block, and wherein the data carried in the data writing requests are written into the one or more physical blocks corresponding to the logical block. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A solid state disk (SSD), comprising:
-
one or more flash memory chip each comprising a plurality of physical blocks; and a SSD controller, configured to; provide logical block information to an array controller coupled to the SSD, wherein the logical block information includes size and indication information of a logical block of the SSD, and wherein the logical block corresponds to one or more physical blocks of the SSD; receive one or more data writing requests from the array controller; and write data carried in the data writing requests into the one or more physical blocks corresponding to the logical block; wherein a total size of the data carried in the data writing requests equals to the size of the logical block. - View Dependent Claims (7, 8, 9, 10)
and wherein in providing logical block information to the array controller, the SSD controller is configured to; provide logical block information of the logical block that is determined to be in the to-be-written state to the array controller.
-
-
9. The solid state disk according to claim 6, wherein the indication information of the logical block includes an identifier of the logical block, and wherein each of the data writing requests comprises the identifier of the logical block;
- and wherein in writing data carried in the data writing requests into the one or more physical blocks corresponding to the logical block, the SSD controller is configured to;
write the data carried in the data writing requests into the one or more physical blocks corresponding to the logical block identified by the identifier.
- and wherein in writing data carried in the data writing requests into the one or more physical blocks corresponding to the logical block, the SSD controller is configured to;
-
10. The solid state disk according to claim 6, wherein the indication information of the logical block includes a logical address range of the logical block, and wherein each of the data writing requests comprises a portion of the logical address range;
- and wherein in writing data carried in the data writing requests into the one or more physical blocks corresponding to the logical block, the SSD controller is configured to;
determine the logical block according to the portion of the logical address range in each of the data writing requests and the logical address range of the logical block; and write the data carried in each of the data writing requests into the one or more physical blocks corresponding to the determined logical block.
- and wherein in writing data carried in the data writing requests into the one or more physical blocks corresponding to the logical block, the SSD controller is configured to;
-
11. A method for an array controller in a storage system to write data into a solid state disk (SSD), comprising:
-
receiving, by the array controller, logical block information of the SSD, wherein the logical block information includes a size and indication information of a logical block, wherein the logical block corresponds to one or more physical blocks of the SSD; and sending, by the array controller, one or more data writing requests to the SSD, to instruct the SSD to store data carried in the data writing requests; wherein a total size of data carried in the data writing requests equals to the size of the logical block, and wherein the data carried in the data writing requests are written into the one or more physical blocks corresponding to the logical block. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A data writing method for use by a solid state disk (SSD) in a storage system, where the SSD comprises one or more flash memory chip, and each flash memory chip comprise a plurality of physical blocks, the method comprising:
-
providing logical block information to an array controller coupled to the SSD, wherein the logical block information includes size and indication information of a logical block of the SSD, and wherein the logical block corresponds to one or more physical blocks of the SSD; receiving one or more data writing requests from the array controller; and writing data carried in the data writing requests into the one or more physical blocks corresponding to the logical block; wherein a total size of the data carried in the data writing requests equals to the size of the logical block. - View Dependent Claims (17, 18, 19, 20)
and wherein providing logical block information to the array controller comprises; providing logical block information of the logical block that is determined to be in the to-be-written state to the array controller.
-
-
19. The method according to claim 16, wherein the indication information of the logical block includes an identifier of the logical block, wherein each of the data writing requests comprises the identifier of the logical block, and wherein writing data carried in the data writing requests into the one or more physical blocks corresponding to the logical block comprises:
writing the data carried in the data writing requests into the one or more physical blocks corresponding to the logical block identified by the identifier.
-
20. The method according to claim 16, wherein the indication information of the logical block includes a logical address range of the logical block, wherein each of the data writing requests comprises a portion of the logical address range, and wherein writing data carried in the data writing requests into the one or more physical blocks corresponding to the logical block comprises:
-
determining the logical block according to the portion of the logical address range in each of the data writing requests and the logical address range of the logical block; and writing the data carried in the data writing requests into the one or more physical blocks corresponding to the determined logical block.
-
Specification